当前位置:   article > 正文

Linux 使用脚本执行 Telnet 批量测试端口是否开通_linux批量telnet ip脚本

linux批量telnet ip脚本

一、测试方法

1、方法 1 :在端口不通时超时时间较长

echo -e "\n"|telnet $CHECK_IP $CHECK_PORT|grep "Connected to\|Escape character" >/dev/null

检查 $? 获取结果

通过以上命令测试,如果端口开放则返回 0 ,否则为 1。

2、方法 2 :在端口不通时超时时间较长

echo ""|telnet $CHECK_IP $CHECK_PORT 2>/dev/null|grep "\^]"|wc -l

通过以上命令测试,如果端口开放则返回 1 ,否则为 0。

3、方法 3 :该方法最佳( 在设置的超时时间范围之内 )

echo quit|timeout --signal=9 {timout_second} telnet {host} {port} 2>/dev/null|grep "\^]"|wc -l

通过以上命令测试,如果端口开放则返回 1 ,否则为 0。

二、脚本示例:

1、脚本内容:

#!/bin/bash
check_telnet()
{
local lv_ip_and_port
local lv_ip
local lv_port
local lv_portFlag

for lv_ip_and_port in $(cat /tmp/ip_port_file.txt)
do
    lv_ip=$(echo $lv_ip_and_port|awk -F: '{print $1}')
    lv_port=$(echo $lv_ip_and_port|awk -F: '{print $2}')    
    lv_portFlag=`echo quit|timeout --signal=9 3 telnet $lv_ip $lv_port 2>/dev/null|grep "\^]"|wc -l`
    if [ $lv_portFlag -eq 0 ];then
        echo 1
        exit
    fi
done
echo 0
}

check_telnet > result.log

2、端口文件 ips_file 内容:

#请使用ip:port 或者 域名:port 的格式编辑以下内容;
#如果是一个列表,可以使用#对不进行测试的IP进行注释
192.168.197.10:11521
192.168.197.10:11522
192.168.197.100:11522

3、输出结果示例( 如果端口开放则返回 1 ,否则为 0 ):

### 端口开放

root@racdb1:/root>lv_portFlag=`echo quit|timeout --signal=9 3 telnet 192.168.197.10 11521 2>/dev/null|grep "\^]"|wc -l`             
root@racdb1:/root>echo $lv_portFlag
1
root@racdb1:/root>

### 端口未开放

root@racdb1:/root>lv_portFlag=`echo quit|timeout --signal=9 3 telnet 192.168.197.10 11522 2>/dev/null|grep "\^]"|wc -l` 
root@racdb1:/root>echo $lv_portFlag
0
root@racdb1:/root>

### IP 不可达

root@racdb1:/root>lv_portFlag=`echo quit|timeout --signal=9 3 telnet 192.168.197.100 11522 2>/dev/null|grep "\^]"|wc -l`
root@racdb1:/root>echo $lv_portFlag
0
root@racdb1:/root>
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/541430
推荐阅读
相关标签
  

闽ICP备14008679号