[shell]通過ping檢測整個網段IP的網絡狀態腳本


要實現Ping一個網段的所有IP,並檢測網絡連接狀態是否正常,很多方法都可以實現,下面簡單介紹兩種,如下:
腳本1
#!/bin/sh
# Ping網段所有IP
# 2012/02/05
ip=1 #通過修改初值
while [ $ip != "254]; do 
#yes正常,no主機不存在或不正常
ping 192.168.0.$ip -c 2 | grep -q "ttl=" && echo "192.168.0.$ip yes" || echo "192.168.0.$ip no"
ip=`expr "$ip" "+" "1"`
done

輸出結果:
192.168.0.1 yes
192.168.0.2 no
192.168.0.3 no
192.168.0.4 no
192.168.0.5 yes
192.168.0.6 no
192.168.0.7 yes
...

腳本2
#!/bin/sh
# Ping網段所有IP
# 2012/02/05
ip="192.168.0."
for i in `seq 1 254`
do
  ping -c 2 $ip$i | grep -q 'ttl=' && echo "$ip$i yes"|| echo "$ip$i no"
  #yes正常,no主機不存在或不正常
done

輸出結果:
192.168.0.1 yes
192.168.0.2 no
192.168.0.3 no
192.168.0.4 no
192.168.0.5 yes
192.168.0.6 no
192.168.0.7 yes
...

如果您有更好的方法實現,可以給我留言~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM