您好,登錄后才能下訂單哦!
這篇文章主要介紹shell腳本測試某網(wǎng)段內(nèi)主機(jī)連通性的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
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進(jìn)行ping測試,如果ping通,提示主機(jī)是UP的 #如果無法ping同,則提示主機(jī)是down的 #ping命令的-c選項(xiàng)控制ping測試的次數(shù),-c2表示對目標(biāo)主機(jī)執(zhí)行2次ping測試 #ping命令的-i選項(xiàng),控制多次ping測試的間隔時間默認(rèn)為1秒,-i0.3可以提升ping的測試效率 #ping命令的-W選項(xiàng),可以控制超時時間,默認(rèn)一個主機(jī)無法ping通,需要等很長的超時時間, #才會提示無法ping通,使用-W1,設(shè)置超時時間為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)對某一臺目標(biāo)主機(jī)測試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)段的連通性(多進(jìn)程版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #定義一個函數(shù),ping某一臺主機(jī),并檢測主機(jī)的存活狀態(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第一臺主機(jī)的回應(yīng),就可以繼續(xù)并發(fā)ping第二臺主機(jī),依次類推。
以上是“shell腳本測試某網(wǎng)段內(nèi)主機(jī)連通性的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。