shell腳本測試某網(wǎng)段內(nèi)主機連通性
更新時間:2017年10月11日 12:08:41 投稿:mrr
這篇文章主要介紹了shell腳本測試某網(wǎng)段內(nèi)主機連通性,需要的朋友可以參考下
1. 測試192.168.4.0/24整個網(wǎng)段的連通性(while版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #定義變量i控制循環(huán)次數(shù),i從1開始循環(huán),每循環(huán)一次,i自加1,直到i等于254循環(huán)退出 #在每次循環(huán)中對一個IP進行ping測試,如果ping通,提示主機是UP的 #如果無法ping同,則提示主機是down的 #ping命令的-c選項控制ping測試的次數(shù),-c2表示對目標主機執(zhí)行2次ping測試 #ping命令的-i選項,控制多次ping測試的間隔時間默認為1秒,-i0.3可以提升ping的測試效率 #ping命令的-W選項,可以控制超時時間,默認一個主機無法ping通,需要等很長的超時時間, #才會提示無法ping通,使用-W1,設置超時時間為1秒。 i=1 while [ $i -le 254 ] do ping -c2 -i0.3 -W1 192.168.4.$i &>/dev/null if [ $? –eq 0 ];then echo "192.168.4.$i is up" else echo "192.168.4.$i is down" fi let i++ done
2. 測試192.168.4.0/24整個網(wǎng)段的連通性(for版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #定義for循環(huán)變量i,執(zhí)行循環(huán)次數(shù)為254次,i從1循環(huán)到254 #每次循環(huán)對某一臺目標主機測試ping的連通性,ping命令的語法格式參考前面的while版本 for i in {1..254} do ping -c2 -i0.3 -W1 192.168.4.$i &>/dev/null if [ $? –eq 0 ];then echo "192.168.4.$i is up" else echo "192.168.4.$i is down" fi done
3. 測試192.168.4.0/24整個網(wǎng)段的連通性(多進程版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #定義一個函數(shù),ping某一臺主機,并檢測主機的存活狀態(tài),ping語法格式參考前面的while版本 myping(){ ping -c2 -i0.3 -W1 $1 &>/dev/null if [ $? -eq 0 ];then echo "$1 is up" else echo "$1 is down" fi } for i in {1..254} do myping 192.168.4.$i & done #使用&符號,將執(zhí)行的函數(shù)放入后臺執(zhí)行 #這樣做的好處是不需要等待ping第一臺主機的回應,就可以繼續(xù)并發(fā)ping第二臺主機,依次類推。
總結
以上所述是小編給大家介紹的shell腳本測試某網(wǎng)段內(nèi)主機連通性,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Linux下is not in the sudoers file的解決
當我們使用sudo命令切換用戶的時候可能會遇到提示以下錯誤:用戶名 is not in the sudoers file.本文給大家分享原因分析及解決方案,感興趣的朋友跟隨小編一起看看吧2023-02-02Shell腳本實現(xiàn)獲取網(wǎng)頁快照并生成縮略圖
這篇文章主要介紹了Shell腳本實現(xiàn)獲取網(wǎng)頁快照并生成縮略圖,本文獲取網(wǎng)頁快照使用phantomjs、生成縮略圖使用ImageMagick,需要的朋友可以參考下2015-02-02