Ping指令進階用法

2023.11.06

Ping指令進階用法


Ping命令用於測試網路連線的可及性和延遲,但ping命令在不同作業系統中的具體實作可能會有所不同,因此一些選項可能會有所差異。

ping命令

ping命令用於測試網路連線的可及性和延遲。它透過向目標主機發送ICMP回顯請求(ping請求),並等待目標主機返回ICMP回顯應答(ping應答)來判斷網路連線的情況。


使用ping指令的基本語法如下:

ping [选项] 目标主机
  • 1.

選項包括:

usage: ping [-AaDdfnoQqRrv] [-c count] [-G sweepmaxsize]
            [-g sweepminsize] [-h sweepincrsize] [-i wait]
            [-l preload] [-M mask | time] [-m ttl] [-p pattern]
            [-S src_addr] [-s packetsize] [-t timeout][-W waittime]
            [-z tos] host
       ping [-AaDdfLnoQqRrv] [-c count] [-I iface] [-i wait]
            [-l preload] [-M mask | time] [-m ttl] [-p pattern] [-S src_addr]
            [-s packetsize] [-T ttl] [-t timeout] [-W waittime]
            [-z tos] mcast-group
Apple specific options (to be specified before mcast-group or host like all options)
            -b boundif           # bind the socket to the interface
            -k traffic_class     # set traffic class socket option
            -K net_service_type  # set traffic class socket options
            --apple-connect       # call connect(2) in the socket
            --apple-time          # display current time
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

例如,要ping一個目標主機(如www.example.com)並傳送5個ping請求,可以使用下列指令:

ping -c 5 www.example.com
  • 1.

ping指令會顯示每個ping要求的結果,包括目標主機的IP位址、ping要求的封包大小、ping要求的時間、以及從目標主機回傳的ping應答資訊。

請注意,ping命令在不同作業系統中的具體實作可能會有所不同,因此一些選項可能會有所差異。

ping -t 的使用

ping -t 是一個Windows系統下的命令,用於連續向指定的目標IP位址發送ICMP Echo請求,以測試網路連線的穩定性和延遲。其中,-t 參數表示持續發送請求,直到手動停止。

ping -a 的使用

ping -a指令用於透過IP位址來取得對應的主機名稱。它會向指定的IP位址發送網路偵測包,並等待目標主機的回應。當目標主機回應時,ping -a指令會傳回該主機的主機名稱。

使用範例:

ping -a 192.168.0.1
  • 1.

這個指令會向IP位址為192.168.0.1的主機發送網路偵測包,並回傳該主機的主機名稱。

ping -n 的使用

ping -n 是一個用於網路診斷的命令,它用於測試與目標主機之間的網路連線。在Windows系統中,ping -n指令用來指定要傳送的ping請求的次數。

使用範例:

ping -n 5 www.example.com
  • 1.

上述命令將發送5個ping請求到www.example.com,並顯示每個請求的結果。

ping -l size 的使用

ping -l size 是用來指定ICMP封包的大小的參數。其中,size表示要傳送的封包的大小,單位為位元組。

透過使用ping -l size指令,可以測試網路的連通性和延遲。它會向目標主機發送ICMP封包,並等待目標主機回傳回應。透過觀察回應時間和丟包情況,可以評估網路的品質和效能。

例如,要傳送大小為64位元組的資料包,可以使用以下命令:

ping -l 64
  • 1.

注意,實際發送的資料包大小可能會比指定的大小稍大,因為還需要包含一些額外的頭部資訊。

ping -r count 的使用

ping -r count 是一個用於網路診斷的命令,其中 count 是指定要傳送的ICMP Echo 請求的次數。

使用 ping -r count 指令可以向指定的目標主機發送ICMP Echo 請求,並顯示每個請求的往返時間(RTT)以及路由路徑上的每個中間路由器的IP 位址。

以下是 ping -r count 指令的使用範例:

ping -r 5 www.example.com
  • 1.

這個指令將會向 www.example.com 發送5 個ICMP Echo 請求,並顯示每個請求的RTT 以及路由路徑上的中間路由器的IP 位址。

請注意,ping -r count 指令在不同的作業系統上可能會有一些差異,具體的用法和參數可能會有所不同。使用此指令時,建議查閱相關作業系統的文件或使用 ping -r --help 指令以取得更多詳細資訊。

批量ping 網段

要批次ping一個網段,可以使用以下指令:

for /L %i in (1,1,255) do ping -n 1 192.168.0.%i
  • 1.

這個指令會依序ping指定網段中的每個IP位址,從1到255。你可以將指令中的192.168.0替換為你要ping的網段。

注意,這個指令是在Windows系統下使用的,如果你使用的是其他作業系統,請使用對應的指令。