Linux如何通过脚本,不停地telnet一个IP,记录telnet成功的时间并输出? 10

 我来答
jinxingvenus
推荐于2017-12-16 · TA获得超过4790个赞
知道大有可为答主
回答量:2703
采纳率:64%
帮助的人:3156万
展开全部

Telnet本身对另一台服务器检查时,容易退不出来。使用Nmap比较合适,然后写个如下脚本,变更IP及相应的端口及Sleep的时间就可以达到目标。


如下参考:

#!/bin/bash
#Purpose:check ip port
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

# Check if user is root
if [ $(id -u) != "0" ]; then
    echo "Error: You must be root to run this script"
    exit 1
fi
Cur_Dir="$(cd -P "$(dirname "${BASHSOURCE[0]}")" && pwd)"
Cur_Time="$(date +%Y%m%d%H%M%S)"
Dest_Ip=172.16.3.19
Dest_Port=22

if [ ! -f /usr/bin/nmap ];then
yum -y install nmap
else
:
fi
function Check_Port(){
Port_State=$(nmap -P0 -sS -p${Dest_Port} ${Dest_Ip}|awk '/STATE/{getline v;print v}'|awk '{print $2}')
if [ X${Port_State}==X'open' ];then
echo "${Dest_Ip} ${Dest_Port} is open" >>${Cur_Dir}/status.txt
echo "${Cur_Time}" >>${Cur_Dir}/status.txt
else
echo "${Dest_Ip} ${Dest_Port} is failure" >>${Cur_Dir}/status.txt
echo "${Cur_Time}" >>${Cur_Dir}/status.txt
fi
}

while true;
do
Check_Port
sleep 3
done
priester_hero
2016-09-23 · TA获得超过473个赞
知道小有建树答主
回答量:703
采纳率:11%
帮助的人:220万
展开全部
不需要使用脚本吧,直接telnet ip 端口 -a就行了
更多追问追答
追问
这个命令会输出telnet成功的时间吗?因为有时快有时慢,想测试
追答
telnet命令就可以实现你想要的功能,除非你想练练脚本,不然没有必要非要用脚本
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式