Man page - ping(8)

Packages contains this manual

Available languages:

en fr es it pl nl ja uk ro zh_TW zh_CN

Manual

ping

名 稱
概 要
描 述
選 項
ICMP分 組 細 節
重 複 和 受 損 的 分 組
嘗 試 不 同 的 資 料 結 構
有 效 時 間 細 節
缺 陷
另 見
歷 史
安 全 性
獲 取


名 稱

ping - 向 網 路 主 機 發 送 ICMP 回 顯 請 求 ( ECHO_REQUEST) 分 組

概 要

ping [ -aAbBdDfhLnOqrRUvV46 ] [ -c count ] [ -F flowlabel ] [ -i interval ] [ -I interface ] [ -l preload ] [ -m mark ] [ -M pmtudisc_option ] [ -N nodeinfo_option ] [ -w deadline ] [ -W timeout ] [ -p pattern ] [ -Q tos ] [ -s packetsize ] [ -S sndbuf ] [ -t ttl ] [ -T timestamp option ] [ hop ... ] destination

描 述

ping 使 用 ICMP 協 議 規 定 的 ECHO_REQUEST 資 料 報 引 發 一 個 來 自 主 機 或 網 管 的 ICMP ECHO_RESPONSE 回 應 。 ECHO_REQUEST 資 料 報 ( “ping”資 訊 ) 有 一 個 IP 和 ICMP 頭 部 , 其 後 跟 隨 了 一 個 結 構 , 包 含 一 個 時 間 相 關 的 值 以 及 一 個 任 意 的 “pad” 位 元 組 的 隨 機 數 用 以 填 充 資 料 包 。

ping 可 以 同 時 在 IPv4 和 IPv6 下 工 作 。 如 需 明 確 強 制 指 定 使 用 其 中 某 個 , 可 以 使 用 -4 或 者 -6

ping 還 可 以 傳 送 IPv6 節 點 資 訊 查 詢 ( Node Information Quries, RFC4620) 。 中 間 節 點 ( hop ) 可 能 不 被 允 許 , 因 為 IPv6 源 路 由 已 不 贊 成 使 用 ( RFC5095) 。

選 項

-4

僅 使 用 IPv4。

-6

僅 使 用 IPv6。

-a

Audible ping.

-A

自 適 應 ping。

-b

允 許 對 一 個 廣 播 地 址 進 行 ping。

-t ttl

僅 進 行 ping 。 設 定 IP 的 TTL( Time to Live) 。

-T timestamp option

設 定 特 殊 的 IP 時 間 戳 選 項 。 timestamp option 可 以 是 tsonly ( 僅 時 間 戳 ) 、 tsandaddr ( 時 間 戳 和 地 址 ) 或 者 tsprespec host1 [host2 [host3 [host4]]] ( 預 先 指 定 跳 數 的 時 間 戳 ) 。

-U

列 印 完 整 的 使 用 者 到 使 用 者 的 延 遲 ( 舊 行 為 ) 。 通 常 情 況 下 ping 列 印 網 路 往 返 延 時 , 它 們 可 能 不 同 , 例 如 在 DNS 解 析 出 現 失 敗 時 。

-v

輸 出 詳 細 資 訊 。

-V

顯 示 版 本 並 退 出 。

-c

count 在 傳 送 (和 接 收 )了 正 好 數 量 為 count 的 回 顯 應 答 分 組 後 停 止 操 作 。 在 傳 送 了 count 個 分 組 後 沒 有 收 到 任 何 分 組 的 特 別 情 況 是 傳 送 導 致 了 終 止 (選 程 主 機 或 閘 道 器 不 可 達 )。

-d

在 所 用 的 套 接 字 上 使 用 SO_DEBUG 選 項 。 實 際 上 , 這 個 套 接 字 選 項 沒 有 被 Linux 核 心 所 使 用 。

-D

在 每 行 之 前 列 印 時 間 戳 ( UNIX 時 間 + gettimeofday 中 的 毫 秒 ) 。

-f

以 高 速 ( 洪 水 ) 方 式 進 行 ping。 以 分 組 返 回 的 速 度 來 輸 出 其 它 分 組 或 每 秒 輸 出 百 次 。 當 收 到 每 個 回 顯 應 答 並 列 印 一 個 退 格 符 時 , 對 每 個 回 顯 請 求 都 列 印 一 個 句 點 ‘‘.’’。 這 可 以 快 速 顯 示 出 丟 棄 了 多 少 個 分 組 , 只 有 超 級 使 用 者 可 以 用 這 個 選 項 。 這 ( 操 作 ) 對 網 路 要 求 非 常 苛 刻 , 應 該 慎 重 使 用 。

-i

wait 在 傳 送 每 個 分 組 時 等 待 wait 個 秒 數 。 預 設 值 為 每 個 分 組 等 待 一 秒 。 此 選 項 與 -f選 項 不 能 同 時 使 用 。

-l

preload 如 果 指 定 preload , 那 麼 ping 程 式 在 開 始 正 常 執 行 模 式 前 儘 可 能 快 地 傳 送 分 組 。 同 樣 只 有 超 級 使 用 者 可 以 用 這 個 選 項 。

-n

只 以 數 字 形 式 輸 出 資 訊 。 這 樣 就 不 嘗 試 去 查 詢 主 機 名 了 。

-p

pattern 可 以 指 定 最 多 16個 填 充 位 元 組 用 於 保 持 分 組 長 度 為 16的 整 數 倍 。 在 網 路 上 診 斷 與 資 料 相 關 問 題 時 此 選 項 很 有 用 。 例 如 ‘‘-p ff’’將 使 發 出 的 分 組 都 用 全 1填 充 資 料 區 。

-q

靜 態 輸 出 。 在 程 式 啟 動 和 結 束 時 只 顯 示 摘 要 行 。

-R

記 錄 路 由 。 在 回 顯 請 求 分 組 中 包 含 記 錄 路 由 選 項 並 在 相 應 的 分 組 返 回 時 顯 示 路 由 緩 衝 區 。 注 意 IP首 部 的 容 量 只 能 存 放 9條 這 樣 的 路 由 。 很 多 主 機 忽 略 或 停 用 此 選 項 。

-r

在 所 連 線 的 網 路 上 旁 路 正 常 的 選 路 表 , 直 接 向 主 機 發 送 分 組 。 如 果 主 機 未 處 於 直 接 相 連 的 網 路 上 , 那 麼 返 回 一 個 錯 誤 。 此 選 項 可 用 來 透 過 無 路 由 介 面 對 一 臺 主 機 進 行 檢 測 (例 如 當 介 面 已 被 routed 程 式 丟 棄 後 )。

-s

packetsize 指 定 要 傳 送 資 料 的 位 元 組 量 。 預 設 值 為 56 , 這 正 好 在 添 加 了 8 位 元 組 的 ICMP 首 部 後 組 裝 成 64 位 元 組 的 ICMP 資 料 報 。

-w

waitsecs waitsecs 秒 後 停 止 ping 程 式 的 執 行 。 當 試 圖 檢 測 不 可 達 主 機 時 此 選 項 很 有 用 。

當 用 ping來 隔 離 故 障 時 , 應 首 先 在 本 地 主 機 上 執 行 , 以 檢 查 本 地 網 路 介 面 有 效 執 行 。 然 後 , 應 該 進 一 步 檢 查 主 機 和 閘 道 器 。 計 算 出 往 返 時 間 和 分 組 丟 失 率 。 如 果 收 到 重 複 的 分 組 , 雖 然 這 些 分 組 的 往 返 時 間 要 用 於 計 算 往 返 時 間 的 最 小 /平 均 /最 大 值 , 但 是 它 們 不 應 該 算 在 剛 才 計 算 的 丟 失 的 分 組 中 。 當 指 定 數 量 的 分 組 已 經 發 送 (和 接 收 )時 或 如 果 程 式 被 SIGINT訊 號 終 止 , 會 顯 示 一 份 簡 短 的 摘 要 。

如 果 ping程 式 根 本 沒 有 收 到 任 何 返 回 分 組 , 那 它 將 以 返 回 碼 1退 出 。 出 錯 時 返 回 2。 否 則 返 回 0。 這 些 值 可 能 用 於 檢 視 主 機 存 在 與 否 。

此 程 式 專 用 於 網 路 測 試 , 度 量 和 管 理 。 因 為 它 會 使 用 網 路 的 流 量 , 在 正 常 操 作 或 自 動 的 指 令 碼 中 使 用 它 並 不 明 智 。

ICMP分 組 細 節

一 個 無 選 項 的 IP首 部 長 為 20位 元 組 。 一 個 ICMP回 顯 請 求 分 組 包 含 了 額 外 的 8個 位 元 組 用 於 任 意 數 量 的 資 料 。 當 給 出 分 組 長 度 時 , 就 同 時 指 出 了 額 外 資 料 的 長 度 (預 設 為 56)。 因 此 接 收 到 的 ICMP回 顯 應 答 這 樣 的 一 個 IP分 組 內 部 所 含 的 資 料 量 總 是 8個 字 節 從 而 超 過 了 請 求 資 料 空 間 (ICMP首 部 )。

如 果 資 料 空 間 至 少 有 8個 位 元 組 大 小 , ping程 式 使 用 此 空 間 的 頭 8個 位 元 組 來 包 含 一 個 用 於 計 算 往 返 時 間 的 時 間 戳 。 如 果 指 定 了 填 充 位 元 組 小 於 8個 位 元 組 , 就 不 給 定 往 返 時 間 了 。

重 複 和 受 損 的 分 組

ping程 式 會 報 告 重 複 和 受 損 的 分 組 。 分 組 重 複 不 應 該 發 生 , 不 適 當 的 鏈 路 層 傳 輸 可 能 會 導 致 這 樣 問 題 。 分 組 重 複 在 很 多 情 況 下 可 能 會 發 生 , 雖 然 存 在 少 量 重 複 並 不 總 會 導 致 警 告 , 但 並 不 是 個 好 訊 號 。

分 組 受 損 很 顯 然 會 引 起 嚴 重 警 告 , 並 通 常 會 在 檢 測 分 組 的 路 徑 上 某 處 指 出 受 損 的 硬 體 (在 網 路 中 或 主 機 中 )。

嘗 試 不 同 的 資 料 結 構

網 際 網 路 絡 並 不 會 因 為 分 組 資 料 部 分 的 內 容 不 同 而 區 別 看 待 分 組 。 不 幸 的 是 , 與 資 料 相 關 的 問 題 都 已 知 潛 存 於 網 路 中 , 並 在 一 個 較 長 時 期 內 無 法 檢 測 到 。 在 很 多 情 況 下 , 引 起 問 題 的 特 殊 結 構 是 些 未 完 全 轉 換 的 內 容 如 全 1或 全 0, 接 近 臨 界 的 結 構 如 幾 乎 全 0。 在 命 令 列 上 沒 有 足 夠 的 必 要 去 指 定 如 全 0這 樣 的 一 個 數 據 結 構 , 因 為 有 影 響 的 結 構 位 於 資 料 鏈 路 層 , 並 且 與 指 定 的 和 控 制 器 傳 輸 的 複 雜 程 度 有 關 。

這 說 明 如 果 你 有 一 個 與 資 料 相 關 的 問 題 , 可 能 必 須 用 很 多 測 試 來 找 出 它 。 如 果 幸 運 的 話 , 可 以 設 法 查 詢 一 個 不 能 在 網 上 傳 送 或 傳 送 時 要 花 比 同 長 度 的 檔 案 更 多 時 間 的 檔 案 。 然 後 檢 查 此 檔 案 中 用 ping程 式 的 -p選 項 來 指 定 的 重 複 結 構 。

有 效 時 間 細 節

一 個 IP分 組 的 TTL值 表 示 分 組 在 被 丟 棄 前 穿 越 IP路 由 器 的 最 大 資 料 。 在 現 有 的 實 際 中 , 你 可 以 認 為 網 際 網 路 上 每 個 路 由 器 都 對 TTL欄 位 減 1。

TCP/IP規 定 TCP分 組 的 TTL欄 位 應 該 設 為 60, 但 很 多 系 統 用 較 小 的 值 (4.3 BSD 用 30, 4.2用 15)。

此 欄 位 可 能 的 最 大 值 為 255, 多 數 UNIX系 統 把 ICMP回 顯 請 求 分 組 的 TTL欄 位 設 為 255。 這 就 是 為 什 麼 你 可 以 ‘‘ping’’一 些 主 機 而 不 能 用 telnet(1)和 ftp(1)到 達 。

在 正 常 操 作 時 ping列 印 它 收 到 分 組 的 TTL值 。 當 選 程 系 統 收 到 一 份 ping的 分 組 時 , 在 作 出 響 應 時 可 以 用 TTL欄 位 完 成 三 件 事 :

不 變 ;

4.3BSD-Tahoe release之 前 的 Berkeley Unix系 統 是 這 樣 做 的 。 在 此 情 況 下 , 收 到 的 分 組 的 TTL值 為 255減 往 返 路 徑 中 的 路 由 器 數 。

把 它 設 為 255;

當 前 的 Berkeley Unix系 統 是 這 樣 做 的 。 在 此 情 況 下 , 收 到 的 分 組 的 TTL值 為 為 255減 選 程 系 統 與 執 行 ping主 機 之 間 的 路 由 器 數 。

把 它 設 為 其 它 值 。

有 些 主 機 對 ICMP分 組 使 用 與 TCP分 組 相 同 的 值 , 例 如 30或 60。 其 它 系 統 使 用 原 始 值 。 (校 對 者 請 指 教 此 句 之 確 切 含 義 : meaculpa@21cn.com)

缺 陷

很 多 主 機 和 閘 道 器 忽 略 記 錄 路 由 ( RECORD_ROUTE) 選 項 。

最 大 IP 頭 部 長 度 對 如 記 錄 路 由 ( RECORD_ROUTE)這 樣 非 常 有 用 的 選 項 來 說 長 度 太 小 。 但 對 這 個 問 題 也 沒 什 麼 可 做 的 了 。

通 常 情 況 並 不 推 薦 以 高 速 方 式 作 ping, 而 且 只 應 當 在 非 常 受 限 的 條 件 下 才 可 對 廣 播 地 址 這 樣 做 。

另 見

netstat (1), ifconfig (8).

歷 史

ping 命 令 出 現 於 4.3BSD。

當 前 文 件 描 述 的 版 本 是 它 在 Linux 平 臺 上 的 後 續 版 本 。

從 版 本 s20160815 開 始 , ping6 二 進 位 制 程 式 不 再 存 在 。 它 已 經 被 合 併 進 了 ping 程 式 中 。 建 立 一 個 名 為 ping6 指 向 ping 的 符 號 連 結 可 以 提 供 原 有 的 功 能 。

安 全 性

ping 在 下 述 條 件 下 執 行 時 需 要 CAP_NET_RAW 能 力 : 1) 如 果 程 式 被 用 於 進 行 non-echo 查 詢 ( 請 見 -N 選 項 ) , 或 2) 如 果 核 心 不 支 援 non-raw ICMP 套 接 字 , 或 3) 如 果 使 用 者 不 被 允 許 建 立 ICMP echo 套 接 字 。 本 程 式 設 計 可 以 用 於 在 設 定 使 用 者 ID為 root 的 情 況 下 執 行 。

獲 取

ping iputils 軟 體 包 的 一 部 分 。 其 最 新 版 本 原 始 碼 可 以 從 下 述 地 址 獲 取 到 : http://www.skbuff.net/iputils/iputils-current.tar.bz2.

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh