shell脚本实现批量telnet测试端口连通性

从文件读取ip端口测试端口连通性

#!/bin/bash
 
telnets()
{
	#先ping判断,避免telnet耗时过长
    P=`ping -c4 -w3 $1 | grep 'packet loss' | grep -v grep | awk -F',' '{print $3}' | awk -F'%' '{print $1}'`
if [ $P -eq 100 ]; 
	then 
		echo "ping不通"
		echo `date +"%Y.%m.%d %T"` " ping "${1}" 失败" >>telnetresults.txt
else
echo "telnet开始"
#`echo "\035"`和`echo "\015"`分别模拟键盘输入ctrl+] 和回车,quit退出
telnet $1 $2 <<EOF 2>temp.txt 1>&2
`echo "\035"`
`echo "\015"`
quit
EOF
echo "telnet结束"
echo 
RESULT=`cat temp.txt 2>/dev/null | grep "Connection closed" | wc -l`
if [ $RESULT -eq 1 ];
then
	echo `date +"%Y.%m.%d %T"`" telnet "${1}":"${2}" 成功" >>telnetresults.txt
else
	echo `date +"%Y.%m.%d %T"`" telnet "${1}":"${2}" 失败" >>telnetresults.txt
fi
fi
}

OLD_IFS="$IFS"
IFS=":"
#清空文件使用
echo "" >telnetresults.txt
echo "" >temp.txt
while read LINE
do
  echo $LINE
  array=$LINE
  ip=${array[0]}
  port=${array[1]}
  telnets $ip $port
done <telnetip.txt
IFS="$OLD_IFS"

telnetip.txt

127.0.0.1:8080
127.0.0.1:80

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值