ping 指令

用途

將回應要求傳送至網路主機。

語法

ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketSize ] [ -S hostname/IP addr ] [ -L ] [ -I a.b.c.d. ] [ -o interface ] [ -T ttl ] [-E Interface_name | Source_Hostname | Source_IP_address] 主機 [ PacketSize ] [ Count ]

說明

/usr/sbin/ping 指令會傳送網際網路控制訊息通訊協定 (ICMP) ECHO_REQUEST ,以從主機或閘道取得 ICMP ECHO_RESPONSE。 ping 指令適用於下列功能:

  • 判斷網路及各種外來主機的狀態。
  • 追蹤及隔離軟硬體問題。
  • 測試、測量及管理網路。

如果主機可運作且在網路上,它會回應回應。 每一個回應要求都包含 Internet Protocol (IP) 及 ICMP 標頭,後面接著連線測試 PID 及 timeval 結構,以及足夠的位元組來完成封包。 預設值是持續傳送回應要求,直到收到「岔斷」為止 (Ctrl-C)。

ping 指令每秒傳送一個資料封包,並針對每一個收到的回應列印一行輸出。 ping 指令會計算來回轉換時間及封包流失統計資料,並顯示完成時的簡短摘要。 當程式逾時或收到 SIGINT 信號時, ping 指令即會完成。 主機 參數是有效的主機名稱或網際網路位址。

依預設, ping 指令會繼續將回應要求傳送至顯示畫面,直到收到「岔斷」(Ctrl-C) 為止。 可以使用 stty 指令來變更岔斷鍵。

由於連續回應要求可能在系統上產生的負載,因此必須主要使用重複的要求來隔離問題。

旗標

項目 說明
-c 計數 指定要傳送 (及接收) 的回應要求數,如 計數 變數所指示。
-w 逾時 此選項只能與 -c 選項搭配使用。 它會導致連線測試等待最多 'timeout' 秒的回覆 (在傳送最後一個封包之後)。
-d 啟動 Socket 層次除錯。
-d 此選項會對 ICMP ECHO_REPLY 封包的標準輸出造成十六進位傾出。
-E Interface_name | Source_Hostname | Source_IP_address 透過 IPv4 及 IPv6 通訊協定的特定介面傳送或接收連線測試封包。 當您指定不是其中一個機器介面位址的介面名稱、來源主機名稱或來源 IP 位址時,會傳回錯誤,且不會傳送任何連線測試封包。 如果您使用 -E 旗標指定介面名稱,依預設會將回應要求數 (-c 計數) 設為值 5。
附註:
  • -E 旗標可確保透過特定介面傳送或接收連線測試封包。
  • -E 旗標僅適用於目的地媒體存取控制 (MAC) 位址,而不適用於已儲存的路徑。 因此,只有在解析位址解析通訊協定 (ARP) 之後, -E 旗標才會在 IPv4 通訊協定中運作。 只有在鄰接項探索通訊協定 (NDP) 將 IPv6 位址解析為 MAC 位址時, -E 旗標才會在 IPv6 通訊協定中運作。
  • 您無法使用 -E 選項來執行 -R 旗標,因為 -E 旗標無法在已儲存的路徑上運作。
-f 指定洪水連線測試選項。 -f 旗標 "洪水" 或輸出封包的速度與它們回來的速度一樣快,或每秒 100 次 (取兩者中的較高者)。 對於每個傳送的 ECHO_REQUEST , a. (period) 會列印,而對於每個收到的 ECHO_REPLY ,則會列印倒退。 這可快速顯示正在捨棄的封包數。 只有 root 使用者可以使用此選項。
附註: 請小心使用此旗標。 只有 root 使用者才允許洪水連線測試。 -f 旗標與 -i Wait 旗標不相容。
-I a.b.c.d 指定將 a.b.c.d 指定的介面用於送出的 IPv4 多重播送。 -我 旗標是大寫 i。
-o 介面 指定 介面 將用於送出的 IPv6 多重播送。 介面以 'en0'、'tr0' 等格式指定。
-i 等等 等待 等等 變數在傳送每一個封包之間指定的秒數。 預設值是在每一個封包之間等待一秒。 此選項與 -f 旗標不相容。
-L 停用多重播送連線測試的本端迴圈。
-l 預載 在進入正常行為模式 (每秒一個) 之前,盡快傳送 預載 變數指定的封包數。 -l 旗標是小寫 l。
-n 僅指定數值輸出。 不會嘗試查閱主機位址的符號名稱。
-p 型樣 指定最多 16 個「填補」位元組,以完成您傳送的封包。 這有助於診斷網路中的資料相依問題。 例如, -p ff 會以所有 1 來填入封包。
-q 指定無聲輸出。 除了啟動時及完成時的摘要行之外,不會顯示任何內容。
-r 略過遞送表,並直接傳送至連接網路上的主機。 如果 主機 不在直接連接的網路上,則 ping 指令會產生錯誤訊息。 此選項可用來透過不再具有透過它的路徑的介面,來對本端主機進行連線測試。
-r 指定記錄遞送選項。 -R 旗標包括 ECHO_REQUEST 封包中的 RECORD_ROUTE 選項,並在傳回的封包上顯示路徑緩衝區。
附註: IP 標頭只夠九個這類路徑使用。 此外,許多主機和閘道也會忽略此選項。
-a addr_family 如果 addr_family 等於 "inet6" ,則將 ICMP 封包的目的地位址對映至 IPv6 格式。
-s PacketSize 指定要傳送的資料位元組數。 預設值為 56 ,與 8 個位元組的 ICMP 標頭資料結合時,會轉換為 64 個 ICMP 資料位元組。
-S hostname/IP addr 使用 IP 位址作為送出連線測試封包中的來源位址。 在具有多個 IP 位址的主機上,可以使用 -S 旗標來使用特定來源 IP 位址傳送或接收連線測試封包。 如果 IP 位址不是機器的其中一個介面位址,則會傳回錯誤,且不會傳送任何內容。
附註: 您可以使用 -S 旗標,透過使用特定來源 IP 位址來傳送或接收連線測試封包,但 -S 旗標不保證透過特定介面來傳送或接收連線測試封包。 請改用 -E 旗標,以確保透過特定介面傳送或接收連線測試封包。
-T ttl 指定多重播送封包的存活時間為 ttl 秒。
-v 要求詳細輸出,除了回應之外,還會列出接收的 ICMP 封包。

參數

項目 說明
PacketSize 指定要傳送的資料位元組數。 預設值為 56 ,與 8 個位元組的 ICMP 標頭資料結合時,會轉換為 64 個 ICMP 資料位元組。 包含此參數是為了與舊版 ping 指令相容。
count 指定要傳送 (及接收) 的回應要求數。 包含此參數是為了與舊版 ping 指令相容。

安全

注意 RBAC 使用者: 此指令可以執行特許作業。 只有專用使用者可以執行專用作業。 如需授權及專用權的相關資訊,請參閱 安全中的「特許指令資料庫」。 如需與這個指令相關聯之專用權及授權的清單,請參閱 lssecattr 指令或 getcmdattr 次指令。

範例

  1. 若要檢查主機 canopus 的網路連線,並指定要傳送的回應要求數目,請輸入:
    ping  -c 5 canopus
    ping canopus  56  5
    會顯示類似以下的資訊:
    PING canopus.austin.century.com: (128.116.1.5): 56 data bytes
    64 bytes from 128.116.1.5: icmp_seq=0 ttl=255 time=2 ms
    64 bytes from 128.116.1.5: icmp_seq=1 ttl=255 time=2 ms
    64 bytes from 128.116.1.5: icmp_seq=2 ttl=255 time=3 ms
    64 bytes from 128.116.1.5: icmp_seq=3 ttl=255 time=2 ms
    64 bytes from 128.116.1.5: icmp_seq=4 ttl=255 time=2 ms
    
    ----canopus.austin.century.com PING Statistics----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 2/2/3 ms
  2. 取得主機的相關資訊lear並啟動 Socket 層次除錯,請輸入:
    ping  -d  lear
    會顯示類似以下的資訊:
    PING lear.austin.century.com: (128.114.4.18) 56 data bytes
    64 bytes from 128.114.4.18: icmp_seq=0 ttl=255 time=6 ms
    64 bytes from 128.114.4.18: icmp_seq=1 ttl=255 time=17 ms
    64 bytes from 128.114.4.18: icmp_seq=2 ttl=255 time=6 ms
    64 bytes from 128.114.4.18: icmp_seq=3 ttl=255 time=6 ms
    64 bytes from 128.114.4.18: icmp_seq=4 ttl=255 time=6 ms
    ^C
    ----lear.austin.century.com PING Statistics ----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 6/8/17 ms
    附註: 會重複輸出,直到收到「岔斷 (Ctrl-C)」為止。
  3. 取得主機的相關資訊opus並指定要傳送的資料位元組數,請輸入:
    ping  -s 2000 opus
    ping opus  2000
    會顯示類似以下的資訊:
    PING opus.austin.century.com: (129.35.34.234): 2000 data bytes
    2008 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=19 ms
    2008 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=20 ms
    2008 bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=19 ms
    2008 bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=19 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    7 packets transmitted, 7 packets received, 0% packet loss
    round-trip min/avg/max = 19/19/20 ms
    附註: 會重複輸出,直到收到「岔斷 (Ctrl-C)」為止。
  4. 呼叫主機的洪水連線測試選項stlopnor,輸入:
    ping  -f stlopnor
    會顯示類似以下的資訊:
    Ping stlopnor.austin.century.com: (129.35.34.234): 56 data bytes
    .^C
    ----stlopnor.austin.century.com PING Statistics ----
    1098 packets transmitted, 1097 packets received, 0% packet loss
    round-trip min/avg/max = 4/4/11
    附註: 會重複輸出,直到收到「岔斷 (Ctrl-C)」為止。
  5. 指定傳送至主機之封包之間的間隔為 5 秒opus,輸入:
    ping  -i5 opus
    會顯示類似以下的資訊:
    PING opus.austin.century.com: (129.35.34.234): 56 data bytes
    64 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=6 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 5/5/6 ms
    附註: 會重複輸出,直到收到「岔斷 (Ctrl-C)」為止。
  6. 在進入正常行為模式之前,盡快將 Preload 變數指定的封包數傳送至主機opus,輸入:
    ping  -l 10 opus
    會顯示類似以下的資訊:
    PING opus.austin.century.com: (129.35.34.234): 56 data bytes
    64 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=9 ms
    64 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=11 ms
    64 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=16 ms
    64 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=22 ms
    64 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=26 ms
    64 bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=27 ms
    64 bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=30 ms
    64 bytes from 129.35.34.234: icmp_seq=7 ttl=255 time=31 ms
    64 bytes from 129.35.34.234: icmp_seq=8 ttl=255 time=33 ms
    64 bytes from 129.35.34.234: icmp_seq=9 ttl=255 time=35 ms
    64 bytes from 129.35.34.234: icmp_seq=10 ttl=255 time=36 ms
    64 bytes from 129.35.34.234: icmp_seq=11 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=12 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=13 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=14 ttl=255 time=7 ms
    64 bytes from 129.35.34.234: icmp_seq=15 ttl=255 time=6 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    16 packets transmitted, 16 packets received, 0% packet loss
    round-trip min/avg/max = 6/19/36 ms
    附註: 會重複輸出,直到收到「岔斷 (Ctrl-C)」為止。
  7. 若要診斷網路中的資料相依問題,請輸入:
    ping  -p ff opus
    此指令會將具有所有 1 的填補型樣的封包傳送至主機opus. 會顯示類似下列的資訊:
    PATTERN: 0xff
    PING opus.austin.century.com: (129.35.34.234): 56 data bytes
    64 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=5 ms
    64 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=6 ms
    64 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=5 ms
    ^C
    ----opus.austin.century.com PING Statistics----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 5/5/6 ms
    附註: 會重複輸出,直到收到「岔斷 (Ctrl-C)」為止。
  8. 若要指定無聲輸出,請輸入:
    ping  -q bach
    只會顯示類似下列範例的摘要資訊:
    PING bach.austin.century.com: (129.35.34.234): 56 data bytes
    ^C
    ----bach.austin.century.com PING Statistics----
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 5/5/8 ms
    附註: 會重複輸出,直到收到「岔斷 (Ctrl-C)」為止。
  9. 若要透過特定介面傳送或接收連線測試封包,請輸入下列指令:
    ping -E en1 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02
    即會顯示類似下列範例的輸出:
    Using Source Address 2020:1234:5678:9122:2c6f:57ff:3e6b:58
    PING 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: (2020:1234:5678:9122:2c6f:57ff:fe6b:8b02): 56 data bytes
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=0 ttl=64 time=1.462 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=1 ttl=64 time=0.917 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=2 ttl=64 time=1.187 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=3 ttl=64 time=1.105 ms
    64 bytes from 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02: icmp_seq=4 ttl=64 time=1.114 ms
    
    --- 2020:1234:5678:9122:2c6f:57ff:fe6b:8b02 ping statistics ---
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 0/0/1 ms