简单的批量telnet 测试


因一些项目需要批量开通网络策略,需要逐个测试端口的导通性,参考网上其他人的文章,简单写了一个shell

 1 #!/bin/bash
 2 
 3 check_telnet(){
 4 LOCALIP=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}')
 5 
 6 for ip_port in $(cat ip_info|grep -v '^#')
 7 do
 8         CHECK_PORT=$(echo $ip_port|awk -F: '{print $2}')
 9         CHECK_IP=$(echo $ip_port|awk -F: '{print $1}')
10         echo -e "\n"| (sleep 1;) | telnet $CHECK_IP $CHECK_PORT |grep "Connected to\|Escape Character" >/dev/null
11         if [ $? -eq 0 ];then
12                 echo "$LOCALIP result $CHECK_IP $CHECK_PORT Connected"
13         else
14                 echo "$LOCALIP result $CHECK_IP $CHECK_PORT can not Connected"
15         fi
16 done
17 }
18 
19 check_telnet >result.log

 

上述代码读取文件 ip_info,这个文件如下

1 #请使用ip:port的格式编辑
2 220.181.38.150:443
3 180.97.33.107:443
4 #如是一个列表,可使用#注释不测试的ip
5 #180.97.34.96:80
6 #可使用域名:port
7 www.baidu.com:80
8 www.baidu.com:443

ip_info 与shell文件需要在同一路径下,执行后产生的文件是result.log


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM