您好,登錄后才能下訂單哦!
這篇文章主要介紹shell腳本測試某網段內主機連通性的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1. 測試192.168.4.0/24整個網段的連通性(while版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #定義變量i控制循環次數,i從1開始循環,每循環一次,i自加1,直到i等于254循環退出 #在每次循環中對一個IP進行ping測試,如果ping通,提示主機是UP的 #如果無法ping同,則提示主機是down的 #ping命令的-c選項控制ping測試的次數,-c2表示對目標主機執行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整個網段的連通性(for版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #定義for循環變量i,執行循環次數為254次,i從1循環到254 #每次循環對某一臺目標主機測試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整個網段的連通性(多進程版本)
#!/bin/bash #Author:丁丁歷險(Jacob) #定義一個函數,ping某一臺主機,并檢測主機的存活狀態,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 #使用&符號,將執行的函數放入后臺執行 #這樣做的好處是不需要等待ping第一臺主機的回應,就可以繼續并發ping第二臺主機,依次類推。
以上是“shell腳本測試某網段內主機連通性的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。