ping的參數
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list] [-w timeout]
  【參數說明】
-t :不停的ping指定的電腦,直到按下Ctrl+C中斷。
-a :將位址解析為電腦NetBios名。
-n :發送count指定的ECHO資料包數。通過這個命令可以自己定義發送的個數,對衡量網路速度很有説明。能夠測試發送資料包的返回平均時間,及時間的快慢程度。預設值為 4。
-l :發送指定資料量的ECHO資料包。預設為 32 位元組;最大值是65500byt。
-f :在封包中發送“不要分段”標誌,封包就不會被路由上的閘道分段。通常你所發送的封包都會通過路由分段再發送給對方,加上此參數以後路由就不會再分段處理。攻擊常用指令為ping IP –t –f –l 65499,同一廣播網域且該網域內封包通信不通過防火牆比較容易成功。出現「需要切割封包,但已設定 DF(Don't Fragment,不要分片) 旗標。」代表防火牆或路由器要求必須切割封包,但你使用-f使得在Flag三位元中的其中的DF位元(=1)已經定義不能切割,所以防火牆把封包丟掉了。常見MTU值(通信協議的某一層上面所能通過的最大數據包以位元組大小)為:
• 1500.以太網信息包最大值,也是預設值。是沒有PPPoE和VPN的網絡連接的典型設置。是大多數路由器、網絡適配器和交換機的預設設定值
• 1492. PPPoE的最佳值,一些老樹
• 1472.使用ping的最大值(大於此值的信息包會先被分解)  
• 1468. DHCP的最佳值
• 1430. VPN和PPTP的最佳值
• 576.撥號連接到ISP的標準值
-i :將“生存時間”欄位設置為TTL指定的值。指定TTL值在對方的系統裡停留的時間。同時檢查網路運轉情況的。
-v :tos 將“服務類型”欄位設置為 tos 指定的值。
-r :在“記錄路由”欄位中記錄傳出和返回資料包的路由。通常情況下,發送的資料包是通過一系列路由才到達目標位址的,通過此參數可以設定,想探測經過路由的個數。限定能跟蹤到9個路由。
-s :指定 count 指定的躍點數的時間戳記。與參數-r差不多,但此參數不記錄資料包返回所經過的路由,最多只記錄4個。
-j :利用 computer-list 指定的電腦清單路由資料包。連續電腦可以被中間閘道分隔(路由稀疏源) IP 允許的最大數量為 9。
-k :computer-list 利用 computer-list 指定的電腦清單路由資料包。連續電腦不能被中間閘道分隔(路由嚴格源)IP 允許的最大數量為 9。
-w:timeout 指定超時間隔,單位為毫秒。

這邊有兩點頗為有趣:

第一,“.0”可以有條件省略
  大 家常用“ping 127.0.0.1”命令在本機上做回路測試,用來驗證本機的TCP/IP協議簇是否被正確安裝。使用“ping 127.1”這個命令也能得到同樣的測試結果,其實“ping 127.1”和“ping 127.0.0.1”這兩條命令是一樣的,都是在進行回路測試。
  為什麼會這樣呢?這就是Ping命令應用中IP位址的使用技巧。大 家都知道,IP位址由32位二進位數字字組成,為了方便大家記憶,將每8位二進位數字字換算成十進位數字字,因此就形成了容易記憶的由四部分十進位數字字組成的 IP位址(如127.0.0.1)。由於,Windows作業系統具有自動填充 “.0”的功能,因此我就可將“127.0.0.1”變為“127.1”。
  但是,這個“.0”的省略是有條件限制的,並不能任意省略。在Ping命令的應用中,只能將在IP位址的最後一部分十進位數字字前出現的一個或多個“.0”省略,如把“ping 127.0.0.1”命令改寫成“ping 127.1”。附帶一提,我們可由ping localhost (127.0.0.1的別名)。如果失敗,則表示主機檔(/Windows/host)中存在問題。
 如果這一個或多個 “.0”沒有緊挨著最後一部分的十進位數字字,而是在其他位置,則這個“.0”不能省略,如“ping 202.0.96.1”就不能寫成“ping 202.96.1”。這是因為“ping 202.96.1”返回的結果是“202.96.0.1”的應答資訊,而不是“202.0.96.1”的應答資訊。
  第二,數位串代替IP位址
  在Ping命令中,還可以使用數位串代替IP位址,你相信嗎?運行“ping 3658906394”命令,你會看到“218.22.123.26”這個IP位址的返回資訊。
  為什麼會這樣呢?其實,“3658906394”就是IP位址“218.22.123.26”的另一種表示形式。當然,也可按同樣的方法Ping其他的IP位址。
 字串是如何轉換而來的呢?其實並不複雜,以“218.22.123.26”這個IP位址為例,IP位址轉換成數字串方法如下:先將 “218.22.123.26”轉換為十六進位“DA.16.7B.1A”,然後去掉小數點後,變為“DA167B1A”,最後將這個十六進位數轉換為十 進制“3658906394”,那麼“218.22.123.26”就變為“3658906394”了。其他IP位址轉換為數位串也是使用同樣的方法。
  提示:在某些局域網環境中,使用“Ping+數位串”命令可能會失敗,出現提示資訊“Unknown host數位串”,這是因為該數位串被解析成主機名稱了,而不是IP地址。

根據返回的資訊,你就可以推斷TCP/IP參數是否設置得正確以及運行是否正常。需要注意的是:成功地與另一台主機進行一次或兩次資料包交換並不表示TCP/IP配置就是正確的,你必須執行大量的本地主機與遠端主機的資料包交換,才能確信TCP/IP的正確性。

Ping的返回資訊
"Request Timed Out"這個資訊表示對方主機可以到達到TIME OUT,這種情況通常是為對方拒絕接收你發給它的資料造成封包丟失。大多數的原因可能是對方裝有防火牆或已下線。
"Destination Net Unreachable"這個資訊表示對方主機不存在或者沒有跟對方建立連接。這裡要說明一下"destination host unreachable"和"time out"的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因為其它原因不可到達,這時候會出現"time out",如果路由表中連到達目標的路由都沒有,那就會出現"destination host unreachable"。
"Bad IP address" 這個資訊表示你可能沒有連接到DNS伺服器所以無法解析這個IP位址,也可能是IP位址不存在。
"Source quench received"資訊比較特殊,它出現的機率很少。它表示對方或中途的伺服器繁忙無法回應。
no rout to host:網卡工作不正常。
transmit failed,error code:10043:網卡驅動不正常。
unknown host name:DNS配置不正確。

  一般情況下,通過ping目標位址,可讓對方返回TTL值的大小,通過TTL值可以粗略判斷目標主機的系統類型是Windows還是UNIX/Linux,一般情況下Windows系統返回的TTL值在100-130之間,而UNIX/Linux系統返回的TTL值在240-255之間。因為TTL的值在對方的主機裡是可以修改的,故此種方法可作為參考。Windows系列的系統可以通過修改註冊表以下鍵值實現修改PING命令TTL值:
[HKEY_LOCAL_MACHINE\sys tem\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:000000ff
255---FF
128---80
64----40
32----20
創作者介紹

Chuan's Palace

chuanstudio 發表在 痞客邦 PIXNET 留言(0) 人氣()