批量测试端口连通性(telnet使用)

需求:

工作中常用到服务器之间需要开通端口,怎样确认端口是否都开通完毕呢? 写一个批量测试端口是否开通的sh脚本,亲测可用

ps:

1. 脚本放到每台服务器上执行

2. 梳理未开通的端口

  • 批量 telnet测试端口连通性
addresses=(
10.***.**.11:3306
10.***.**.22:22
10.***.**.22:1521
)
for address in "${addresses[@]}"
do
  # 使用 awk 分割地址和端口
  ip=$(echo "$address" | awk -F':' '{print $1}')
  port=$(echo "$address" | awk -F':' '{print $2}')
  echo "Telnetting to $address..."
  echo -e "\n"| telnet $ip $port |grep "Connected to\|Escape character" >/dev/null
  if [ $? -eq 0 ];then
    echo "$ip result $ip $port connected" >>test.log
  else
    echo "$ip result $ip $port can not Connected" >>test.log
  fi
done

日志格式:

知识点补充:

1)$?:表示脚本执行的状态,0表示正常,其他表示错误

2)for 循环使用

3)数组使用

4)echo -e "OK! \n"  # -e 开启转义

参考

[1] https://www.runoob.com/linux/linux-shell-echo.html

[2]https://blog.youkuaiyun.com/qq_36326332/article/details/112543884

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值