批量测试tcp端口及网络状态--telnet、ping

本文介绍了如何批量测试TCP端口状态和网络连接情况。利用telnet脚本testport.sh进行端口扫描,通过cat ip.txt获取IP列表。同时,使用两种ping测试方法,包括根据发送包数判断网络状态的ping1.sh脚本和依据返回值判断的ping2.sh脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IP信息列表文件
//cat ip.txt
10.1.1.1
10.1.1.2
……

一、Telnet测试端口状态:
//cat testport.sh

#!/bin/bash
. /etc/init.d/functions
num=0;load=50
read -p "input test port: " por_t
    for i in $(cat ip.txt) ;do 
        (次要内容 num=$((${num}+1)) ;num_seq=`echo $((${num}%50))`
        [ ${num_seq} -eq 0  ] && echo "loading...${load}..." && load=$((${load}+50))  次要内容)
        注:次要内容用于显示速度;每五十个IP提示一次。        
             a=`echo -e "\n"|/usr/bin/telnet ${i} ${por_t} 2>/dev/null |grep -c Connected`
                if [ ${a} -ne 1 ] ;then
                    action "        $i error" /bin/false  
                fi
    done
    echo "end"

二、ping测试网络状态:
1)for循环根据传输的包数判断;
//cat ping1.sh

#!/bin/bash
for i in  $(cat ip.txt) ;do

    ping=$(ping -c1 $i|awk '/loss/{print $4}')

        if [ ${ping} -eq 0 ];then
        echo ping $i fail
        fi
done
echo "ping end"

2)while循环根据返回值判断;
//cat ping2.sh

#!/bin/bash
cat ip.txt|while read line
do

    ping -c1 $line >/dev/null 2>&1 
        if [ $? -ne 0 ];then
        echo "$line fail"
        fi
done
echo "ping end"
                                        ^_^能力有限,欢迎指正~
                                                2018-09-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值