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。 附註:
|
-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 次指令。
範例
- 若要檢查主機
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
- 取得主機的相關資訊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)」為止。 - 取得主機的相關資訊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)」為止。 - 呼叫主機的洪水連線測試選項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 秒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)」為止。 - 在進入正常行為模式之前,盡快將 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)」為止。 - 若要診斷網路中的資料相依問題,請輸入:
此指令會將具有所有 1 的填補型樣的封包傳送至主機opus. 會顯示類似下列的資訊:ping -p ff 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)」為止。 - 若要指定無聲輸出,請輸入:
只會顯示類似下列範例的摘要資訊: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)」為止。 - 若要透過特定介面傳送或接收連線測試封包,請輸入下列指令:
即會顯示類似下列範例的輸出: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