1. 測試192.168.4.0/24整個(gè)網(wǎng)段的連通性(while版本)
#!/bin/bash #Author:丁丁歷險(xiǎn)(Jacob) #定義變量i控制循環(huán)次數(shù),i從1開始循環(huán),每循環(huán)一次,i自加1,直到i等于254循環(huán)退出 #在每次循環(huán)中對(duì)一個(gè)IP進(jìn)行ping測試,如果ping通,提示主機(jī)是UP的 #如果無法ping同,則提示主機(jī)是down的 #ping命令的-c選項(xiàng)控制ping測試的次數(shù),-c2表示對(duì)目標(biāo)主機(jī)執(zhí)行2次ping測試 #ping命令的-i選項(xiàng),控制多次ping測試的間隔時(shí)間默認(rèn)為1秒,-i0.3可以提升ping的測試效率 #ping命令的-W選項(xiàng),可以控制超時(shí)時(shí)間,默認(rèn)一個(gè)主機(jī)無法ping通,需要等很長的超時(shí)時(shí)間, #才會(huì)提示無法ping通,使用-W1,設(shè)置超時(shí)時(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整個(gè)網(wǎng)段的連通性(for版本)
#!/bin/bash #Author:丁丁歷險(xiǎn)(Jacob) #定義for循環(huán)變量i,執(zhí)行循環(huán)次數(shù)為254次,i從1循環(huán)到254 #每次循環(huán)對(duì)某一臺(tái)目標(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整個(gè)網(wǎng)段的連通性(多進(jìn)程版本)
#!/bin/bash #Author:丁丁歷險(xiǎn)(Jacob) #定義一個(gè)函數(shù),ping某一臺(tái)主機(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 #使用符號(hào),將執(zhí)行的函數(shù)放入后臺(tái)執(zhí)行 #這樣做的好處是不需要等待ping第一臺(tái)主機(jī)的回應(yīng),就可以繼續(xù)并發(fā)ping第二臺(tái)主機(jī),依次類推。
總結(jié)
以上所述是小編給大家介紹的shell腳本測試某網(wǎng)段內(nèi)主機(jī)連通性,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
標(biāo)簽:連云港 廣東 烏蘭察布 海北 贛州 昌都 撫州 臨沂
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell腳本測試某網(wǎng)段內(nèi)主機(jī)連通性》,本文關(guān)鍵詞 shell,腳本,測試,某,網(wǎng)段,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。