當前位置: 妍妍網 > 碼農

ping常用命令,排查監控網路故障必用的幾個命令

2024-07-11碼農

弱電學習圈VIP群8群已經建立 ,歡迎大家進群後討論技術問題,設計方案,投標、施工,工程合作,產品對接等方面,都可以。其中 VIP群 裏大部份人員都是工程商,施工分包商,設計院設計師,公司老板,技術總監、廠家、甲方等。

現在不管安防工程還是弱電工程,與網路的聯系也越來越密切了,網路基礎知識中的網路命令ping命令在計畫中是使用頻率最高的,一般我們用的都是它的基本功能,今天和大家來詳細看下Ping命令的7個基礎用法,掌握了秒變大神!

1、ping命令基礎

2、ping -t的使用

3、ping -a的使用

4、ping -n的使用

5、ping -l size的使用

6、ping -r count的使用

7、如何批次ping 幾百到1000個ip地址

一、ping命令基礎介紹

在網路中ping是一個十分強大的TCP/IP工具。 它的作用主要為:

1、用來檢測網路的連通情況和分析網路速度

2、根據網域名稱得到伺服器IP

3、根據ping返回的TTL值來判斷對方所使用的作業系統及封包經過路由器數量。

我們通常會用它來直接ping ip地址,來測試網路的連通情況。

類如這種,直接ping ip地址或閘道器,ping通會顯示出以上數據,有朋友可能會問,bytes=32; time<1ms; TTL=128 這些是什麽意思。

bytes值: 封包大小,也就是字節。

time值: 響應時間,這個時間越小,說明你連線這個地址速度越快。

TTL值: Time To Live,表示DNS記錄在DNS伺服器上存在的時間,它是IP協定包的一個值,告訴路由器該封包何時需要被丟棄。

我們可以透過Ping返回的TTL值大小,粗略地判斷目標系統型別是Windows系列還是UNIX/Linux系列。

因此一般TTL值:

100~130ms之間,Windows系統 ;

240~255ms之間,UNIX/Linux系統。

當然,我們今天主要了解並不是這些,而是ping的其它參考。

ping命令除了直接ping網路的ip地址,驗證網路暢通和速度之外,它還有這些用法。

二、ping -t的使用

不間斷地Ping指定電腦,直到管理員中斷。

這就說明電腦連線路由器是通的,網路效果很好。 下面按按住鍵盤的Ctrl+C終止它繼續ping下去,就會停止了,會總結出執行的封包有多少,通斷的有多少了。

三、ping -a的使用

ping-a解析電腦名與NetBios名。 就是可以透過ping它的ip地址,可以解析出主機名。 當你遇到一個ip,卻不知道他是那個裝置時,這時你可以透過ping -a知道它的主機名。

四、ping -n的使用

在預設情況下,一般都只發送四個封包,透過這個命令可以自己定義發送的個數,對衡量網路速度很有幫助,比如我想測試發送10個封包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以透過以下獲知:

從以上我就可以知道在給47.93.187.142發送10個封包的過程當中,返回了10個,沒有遺失,這10個封包當中返回速度最快為32ms,最慢為55ms,平均速度為37ms。 說明我的網路良好。

如果對於一些不好的網路,比如監控系統中非常卡頓,這樣測試,返回的結果可能會顯示出遺失出一部份,如果遺失的比較多的話,那麽就說明網路不好,可以很直觀的判斷出網路的情況。

五、ping -l size的使用

ping-l size: 發送size指定大小的到目標主機的封包。

在預設的情況下Windows的ping發送的封包大小為32byt,最大能發送65500byt。 當一次發送的封包大於或等於65500byt時,將可能導致接收方電腦宕機。 所以微軟限制了這一數值; 這個參數配合其它參數以後危害非常強大,比如攻擊者可以結合-t參數實施DOS攻擊。 (所以它具有危險性,不要輕易向別人電腦使用)。

例如: ping -l 65500 -t 211.84.7.46

會連續對IP地址執行ping命令,直到被使用者以Ctrl+C中斷。

這樣它就會不停的向211.84.7.46電腦發送大小為65500byt的封包,如果你只有一台電腦也許沒有什麽效果,但如果有很多電腦那麽就可以使對方完全癱瘓,網路嚴重堵塞,由此可見威力非同小可。

六、ping -r count

這個命令在「記錄路由」欄位中記錄傳出和返回封包的路由,探測經過的路由個數,但最多只能跟蹤到9個路由。

ping -n 1 -r 9 202.102.224.25 (發送一個封包,最多記錄9個路由)

將經過 9個路由都顯示出來了,可以看圖。 也就是說可以跟蹤ip地址所經過的9個路由,在檢查故障時可以快速定位。

七、如何同時批次ping多個IP地址

1、ping一個網段

對於一個網段ip地址眾多,如果單個檢測實在麻煩,那麽我們可以直接批次ping網段檢測,那個ip地址出了問題,一目了然。

先看程式碼,直接在命令列視窗輸入:

for /L %D in (1,1,255) do ping 10.168.1.%D

IP地址段修改成你要檢查的IP地址段。

當輸入批次命令後,那麽它就自動把網段內所有的ip地址都ping完為止。

那麽這段「for /L %D in(1,1,255) do ping 10.168.1.%D」 程式碼是什麽意思呢?

程式碼中的這個(1,1,255)就是網段起與始,就是檢測網段192.168.1.1到192.168.1.255之間的所有的ip地址,每次逐增1,直接到1到255這255個ip檢測完為止。

2、ping網段升級

上面的命令雖然能批次ping 地址,但是上面程式碼在命令列視窗顯示數量多的時候看起來也很麻煩,那麽再升級一下,用下面的程式碼。

for /L %D in (1,1,255) do ping -n 10.168.1.%D >>a.txt

說明,ip地址是變的,你填你需要測的ip網段就行,a.txt也是變的,可以自已設定名稱。

這樣就會把結果匯入的a.txt檔中,全部IP檢查完成後開啟a.txt搜尋「TTL=」包含它的就是通的地址,沒有包含「TTL=」的地址就是不通的。 如下圖

開啟後,就直接搜尋沒TTL的就可以了。

3、ping網段命令再升級

很多人要說了這樣還要搜尋,也不是太方便,需要這樣查來查去,那麽我們再看下,是否有更簡便的方法呢? 第一監控之前就發過。

答案肯定是有的,我們來看程式碼。

for /l %D in (1,1,255) do (ping 192.168.1.%D -n 1 && echo 192.168.1.%D>>ok.txt || echo 192.168.1.%D >>no.txt)

這段程式碼會將ping通的IP和不通的IP分別放到兩個檔裏面,這樣是不是很方便啦,如下圖:

這段程式碼非常實用,在大網路中可以用到,就是大家在輸入的時候需要細心,不過也沒有關系,可以直接把這個文章收藏,日後要用,直接復制裏面程式碼,然後改下裏面ip地址就行了。

4、ping網段命令終極方法

上面提到的三種程式碼提到的都是針對同一個網段內ip地址批次檢測,那麽肯定在實際計畫中,也可能存不同網段的ip地址需要同時檢測,那麽怎麽辦呢?

也有方法,可以把沒有規劃的ip地址同時批次檢測,我們來看下程式碼:

for /f %D in (ip.txt) do (ping %D -n 1 && echo %i>>ok.txt || echo %D >>no.txt)

看見沒有多了一個ip.txt檔,這個檔是要你自己準備的哦,把你ping的地址寫到這個檔裏面,同時可以ping 1000個ip地址以上,程式碼會自己讀取這個檔裏面的ip地址,並且把結果放到兩個檔裏面去。 這裏就不給大家截圖了很容易理解。

這裏面補充下:

上面程式碼生成的檔在你命令列預設目錄下。 也就是說如果你的命令列狀態是:

"c:\windows\system32>"那麽生成的檔就在系統的system32目錄下面。 如果是"c:\"那麽檔就在C槽根目錄下。 這個可 以根據自己的實際情況進行調整。