Ping 指令需安裝TCP/IP通訊協定,才可使用

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list

Options:

  • -t
    Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control+C.
    不停的ping對方主機,直到按下Control + C  
  • -a
    Resolve addresses to hostnames.
    解析電腦NetBios名。

例:ping -a 192.168.1.21

Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data:
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254

     Ping statistics for 192.168.1.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
                 Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

從上面就可以知道IP為192.168.1.21的電腦NetBios名為iceblood.yofor.com

  • -n
    count Number of echo requests to send.
    發送count指定的Echo封包數。

在默認情況下,一般都只發送四個封包,通過這個命令可以自己定義發送的個數,對衡量網路速度很有幫助,若我想測試發送50個封包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以通過以下位址:

ping -n 50 202.103.96.68

Pinging 202.103.96.68 with 32 bytes of data:
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Request timed out.
………………
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Ping statistics for 202.103.96.68:
Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),
                 Approximate round trip times in milli-seconds:

Minimum = 40ms, Maximum = 51ms, Average = 46ms

由上可知對202.103.96.68發送50個封包的過程當中,回傳48個,其中有兩個由於未知原因丟失,這48個封包當中返回速度最快為40ms,最慢為51ms,平均速度為46ms。

  • -l
    size Send buffer size.
      定義echo封包大小。

在默認的情況下windows的ping發送的封包大小為32byt,我們也可以自己定義它的大小,但有一個大小的限制,就是最大只能發送 65500byt,也許有人會問為什麼要限制到65500byt,因為Windows系列的系統都有一個安全漏洞(也許還包括其他系統)就是當向對方一次 發送的封包大于或等於65532時,對方就很有可能當機,所以微軟公司為了解決這一安全漏洞於是限制了ping的封包大小。雖然微軟公司已經做了此限制, 但這個參數配合其他參數以後危害依然非常強大,比如我們就可以通過配合-t參數來實現一個帶有攻擊性的指令:(以下介紹帶有危險性,只用於試驗,請勿輕易 施於別人電腦上,否則後果自負)

ping -l 65500 -t 192.168.1.21

Pinging 192.168.1.21 with 65500 bytes of data:
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
………………

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

  • -f
    Set Don't Fragment flag in packet.
    在封中發送“不要分段”標誌。

在一般你所發送的封包都會通過路由分段再發送給對方,加上此參數後
     路由就不會再分段處理。

  • -i
    TTL Time To Live.
    指定TTL值在對方的系統裡停留的時間

此參數同樣是幫助你檢查網路運轉情況的

  • -v
    TOS Type Of Service.
    將“服務類型”字段設置為tos指定的值
  • -r
    count Record route for count hops.
    在“記錄路由”字段中記錄傳出和返回封包的路由。

在一般情況下你發送的封包是通過一個個路由才到達對方的,但到底是經過了哪些路由呢?通過此參數就可以設定你想探測經過的路由的個數,不過限制在了9個,也就是說你只能跟蹤到9個路由,如果想探測更多,可以通過其他命令實現

範例:

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

Pinging 202.96.105.101 with 32 bytes of data:
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
Route: 202.107.208.187 -> 202.107.210.214 ->
          61.153.112.70 -> 61.153.112.89 ->
          202.96.105.149 -> 202.96.105.97 ->
          202.96.105.101 -> 202.96.105.150 ->
          61.153.112.90

Ping statistics for 202.96.105.101:

Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 10ms, Average = 10ms

從上可知從我的電腦到202.96.105.101一共通過了202.107.208.187,202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97這幾個路由。

  • -s
    count Timestamp for count hops.
    指定count指定的數的時間。

此參數和-r差不多,只是這個參數不記錄封包返回所經過的路由,最多也只記錄4個

  • -j
    host-list Loose source route along host-list.
    利用computer-list指定的電腦列表路由封包。連續電腦可以被中間關網分隔(路由稀疏源)IP允許的最大量為9
  • -k
    host-list Strict source route along host-list.

    利用computer-list指定的電腦列表路由封包。連續電腦不能被中間網分隔(IP允許的最大數量為9
  • -w
    timeout Timeout in milliseconds to wait for each reply.

    指定超時間隔,單位為毫秒


Ping指令的其他技巧:在一般情況下還可以通過ping對方讓對方返回給你的TTL值大小,粗略的判斷目標主機的系統類型是Windows系列還是 UNIX/Linux系列,一般情況下Windows系列的系統返回的TTL值在100-130之間,而UNIX/Linux系列的系統返回的TTL值在 240-255之間,當然TTL的值在對方的主機裡是可以修改的,Windows系列的系統可以通過修改注冊機碼以下鍵值實現:

        [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

"DefaultTTL"=dword:000000ff

255---FF

128---80

64----40

32----20

arrow
arrow
    全站熱搜

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