Linux如何通过脚本,不停地telnet一个IP,记录telnet成功的时间并输出?
发布网友
发布时间:2022-05-03 12:05
我来回答
共2个回答
热心网友
时间:2023-10-21 13:46
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
热心网友
时间:2023-10-21 13:47
不需要使用脚本吧,直接telnet ip 端口 -a就行了
热心网友
时间:2023-10-21 13:46
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
热心网友
时间:2023-10-21 13:47
不需要使用脚本吧,直接telnet ip 端口 -a就行了
热心网友
时间:2023-10-21 13:46
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
热心网友
时间:2023-10-21 13:47
不需要使用脚本吧,直接telnet ip 端口 -a就行了