Ping命令詳解


引言:我們每天都在使用Ping命令,但是我們可能不太清楚Ping的工作原理,對運行結果中的很多細節也不是很清楚。查找了一下資料,現在和大家分享一下Ping的運行原理和相關細節。

A.Ping命令的工作原理
Ping命令主要用於測試本地主機與遠程主機之間的連通性。Ping命令會向遠程主機發送ICMP回應請求數據報(echo request),遠程主機收到后回應應答數據報(echo reply)。本地主機會計算從發送回應請求數據報到回應應答數據報返回之間的時間,從而確定本地主機與遠程主機之間是否正常連接,以及網絡狀況如何。

B.Ping結果的意義
對於Ping命令的運行結果,我們主要關注的是數據報返回時間,丟包率,從這兩個因素上也就可以大致判斷出網絡是否穩定。當然這里的網絡包括本地網絡以及數據報所經過的路由結點的網絡。比如數據報返回時間波動很大,就說明網絡不穩定。Ping得到的數據報返回時間在150到350之間都算正常,基本不會影響網站訪問速度。而丟包率可以直接反映本地主機到服務器的網絡連接狀況不是很好,具體哪些結點出問題,我們可以再通過Tracert命令來查詢。

C.如何計算本地主機到目標主機所經過的路由數?
默認情況下,Ping命令會發送4個請求數據報,每個包含32字節數據。如果一切正常,將會得到4個回應數據報的返回。Ping命令以ms為單位顯示時間,同時顯示TTL(Time To Live)。我們可以通過TTL值來推算數據報經過了多少個路由器,計算方法為:源地點TTL起始值-返回時TTL值。源地點TTL起始值是一個比返回TTL略大的一個2的乘方。如果返回值為119,那么TTL起始值即為2的7次方——128,從而這個數據報從源地點到目標地點經過了9個路由器網段。如果返回TTL值為246,那么TTL的起始值為256,從而這個數據報從源地點到目標地點經過了10個路由器網段。

D.Ping結果分析

E.Ping攻擊
值得一提的是,由於Ping命令可以自定義發送數據報的大小以及可以無休止的告訴發送,某些別有用心的人會利用Ping命令作為DDoS的工具, 如利用數百台接入Internet的電腦/肉雞連續發送大量Ping命令數據庫而使得某些大型網站癱瘓(Ping攻擊)。

F.Ping命令常用參數說明
-n [count] 決定發送回應請求的次數。默認值是4。
-l size 決定發送請求數據包的大小。默認是32字節。
-t 不間斷發送請求數據包,直到按Ctrl+C終止。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM