Shell脚本——使用telnet批量检测端口连接性

在工作中应组长要求,需检测公司所有服务器、虚拟机的10050端口是否开放,下面的脚本目前以用到实际的工作当中,在这里给大家分享出来,有需要改进的地方,还请大家积极留言,本人酌情接受

#!/bin/bash
# 检测Telnet端口的Shell脚本

# 输入参数:IP地址和端口号
Server_ip_list=$( cat ip.txt | awk '{print $1}' ) #所有的IP地址存放在ip.txt文件当中
Server_port=$1 #测试端口号

# 检查输入的IP地址是否有效
for i in $Server_ip_list #遍历服务器ip
do
echo "测试连接服务器端口$i $Server_port"
xz=`(sleep 1;) | telnet $i $Server_port|grep "]"|wc -l` #判断连通性命令
if [ $xz -eq 0 ]; #输出结果
        then
                echo "连接失败"
                echo "服务器$i端口$Server_port连接失败" >> ./telnet_error.txt
        else
                echo "连接成功"
                echo "服务器$i端口$Server_port连接成功" >> ./telnet_success.txt
fi

done

在这里解释一下

(sleep 1;) | telnet $i $Server_port|grep "]"|wc -l

sleep用来将目前动作延迟一段时间执行,默认单位秒。因为执行telnet命令不会自动退出的。这里的作用是停留1秒后退出命令模式,实现自动。并返回1

运行结果为

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值