我們分析和判定網(wǎng)絡(luò)故障,如果有 10 設(shè)備,100 臺設(shè)備,1000 臺設(shè)備怎么辦?一個個 ping 過去人都要瘋掉了,這種情況在大型網(wǎng)絡(luò)中我們有可能遇到,那怎么辦呢?來聽聽海翎光電小編的一點看法吧!
對于一個網(wǎng)段 ip 地址眾多,如果單個檢測實在麻煩,那么我們可以直接批量 ping網(wǎng)段檢測,那個 ip 地址出了問題,一目了然。先看代碼,直接在命令行窗口輸入:for /L %D in (1,1,255) do ping 10.168.1.%DIP 地址段修改成你要檢查的 IP 地址段。 當(dāng)輸入批量命令后,那么它就自動把網(wǎng)段內(nèi)所有的 ip 地址都 ping 完為止。那么這段“for /L %D in(1,1,255) do ping 10.168.1.%D” 代碼是什么意思呢?代碼中的這個(1,1,255)就是網(wǎng)段起與始,就是檢測網(wǎng)段 192.168.1.1 到192.168.1.255 之間的所有的 ip 地址,每次逐增 1,直接到 1 到 255 這 255 個 ip檢測完為止。 上面的命令雖然能批量 ping 地址,但是上面代碼在命令行窗口顯示數(shù)量多的時候看起來也很麻煩,那么我們再升級一下,用下面的代碼。for /L %D in (1,1,255) do ping -n 10.168.1.%D >>a.txt說明,ip 地址是變的,你填你需要測的 ip 網(wǎng)段就行,a.txt 也是變的,可以自已設(shè)置名稱。這樣就會把結(jié)果導(dǎo)入的 a.txt 文件中,全部 IP 檢查完成后打開 a.txt 搜索“TTL=”包含它的就是通的地址,沒有包含“TTL=”的地址就是不通的。如下圖: 很多人要說了這樣還要搜索,也不是太方便,需要這樣查來查去,那么我們再看下,是否有更簡便的方法呢? for /l %D in (1,1,255) do (ping 192.168.1.%D -n 1 && echo192.168.1.%D>>ok.txt || echo 192.168.1.%D >>no.txt)這段代碼會將 ping 通的 IP 和不通的 IP 分別放到兩個文件里面,這樣是不是很方便啦,如下圖: 這段代碼非常實用,在大網(wǎng)絡(luò)中可以用到,就是大家在輸入的時候需要細(xì)心,不過也沒有關(guān)系,可以直接把這篇文章收藏,日后要用,直接復(fù)制里面代碼,然后改下里面 ip 地址就行了。 上面提到的三種代碼提到的都是針對同一個網(wǎng)段內(nèi) ip 地址批量檢測,那么肯定在實際項目中,也可能存不同網(wǎng)段的 ip 地址需要同時檢測,那么怎么辦呢?也有方法,可以把沒有規(guī)劃的 ip 地址同時批量檢測,我們來看下代碼:for /f %D in (ip.txt) do (ping %D -n 1 && echo %i>>ok.txt ||echo %D >>no.txt)看見沒有多了一個 ip.txt 文件,這個文件是要你自己準(zhǔn)備的哦,把你 ping 的地址寫到這個文件里面,代碼會自己讀取這個文件里面的 ip 地址,并且把結(jié)果放到兩個文件里面去。這里就不給大家截圖了與上圖差不多。
上面代碼生成的文件在你命令行默認(rèn)目錄下也就是說如果你的命令行狀態(tài)是"c:\windows\system32>"那么生成的文件就在系統(tǒng)的 system32 目錄下面。如果是"c:\"那么文件就在 C 盤根目錄下。這個可以根據(jù)自己的實際情況進(jìn)行調(diào)整。