3
回答
linux终端下怎么能快速的获取到一个网络的连通性?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

我想通过脚本来获取网络连接是否联通:就像这样

[root@dev /usr/local/web/php/etc]# nc -z -w 2 192.123.14.102  80 
Connection to 192.123.14.102 80 port [tcp/http] succeeded!



举报
xueyi28
发帖于1年前 3回/368阅
共有3个答案 最后回答: 1年前

shell脚本如下:

#!/bin/bash
# Program
#      Use ping command to check the network's PC state.
# History
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
network="192.168.103"
for sitenu in $(seq 1 100)
do
      ping -c 1 -w 1 ${network}.${sitenu} &> /dev/null && result=0 || result=1
      if [ "$result" == 0 ]; then
                echo "Server ${network}.${sitenu} is UP."
      else
                echo "Server ${network}.${sitenu} is DOWN."
        fi
done

说明:根据自己的实际网段修给脚本中 network="192.168.103" 和 for sitenu in $(seq 1 100) 的值。


--- 共有 4 条评论 ---
douyur回复 @xueyi28 : 我以为只测IP的连通性。 1年前 回复
xueyi28回复 @ANTMBA : 嗯,就是要测试一个ip下的一个端口是不是联通的 1年前 回复
douyur回复 @xueyi28 : 你这需要写一个服务端程序和客户端程序来测试连通性。 1年前 回复
xueyi28perl -e 'use IO::Socket;$s=IO::Socket::INET->new(PeerAddr =>"192.168.1.134",PeerPort =>80,Timeout=>1,Proto =>"tcp",Type=>SOCK_STREAM)||exit(1);' 1年前 回复

定义一个脚本,脚本第一叁数提供IP地址,第二个叁数提供端口.

./xxxx.sh "地址地址" "端口"

echo  "......结果....."


顶部