【Shell】批量测试端口连通性telnet

需求

需要测试某一台服务器到100台个服务器的连通性

方案

采用”在源服务器上,telnet 目标服务器ip 端口“的方法进行测试,如果出现Connected ,表明网络连通性没有问题,否则表明网络连通性存在问题,需要检查网络配置。

痛点

需要登录源服务器,依次对所有目标服务器的端口进行telnet测试,本次需要测试100台服务器,就需要依次测试100次,非常耗时!

解决方案

通过shell脚本,自动化批量检测连通性。

步骤1:将所有目标服务器的ip和端口填入iplist.txt文本中,格式如下:

步骤2:编写shell脚本check_telnet.sh,代码如下

cat iplist.txt | while read -r line
do
    ip=`echo $line | awk '{print $1}'`
    port=`echo $line | awk '{print $2}'`
    timeout_second=5
    result=`echo -e "\n" | timeout --signal=9 $timeout_second telnet $ip $port 2>/dev/null | grep Connected | wc -l`
    if [ $result -eq 1 ]; then
        echo "YES: $line"
    else
        echo "NO: $line"
    fi
done

步骤3:将iplist.txt和check_telnet.sh上传到服务器上,放在同一个目录

执行命令

sh check_telnet.sh | grep NO

显示出来的结果就是网络不连通的服务器ip和端口信息

也可以将结果直接输出到txt文件

执行命令

sh check_telnet.sh | grep NO > result.txt

注意

1、如果要直接使用本脚本,iplist.txt文件的最后一行需要一个空行

2、脚本格式换行符必须是 LF,不能是CRLF

即:把脚本格式转换成unix即可,用UltraEdit可以转

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evan Yi

老板行行好,打赏一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值