Man page - tcpdump(8)
Packages contains this manual
Available languages:
en ja zh_TW zh_CNManual
TCPDUMP
NAME總 覽 (SYNOPSIS)
描 述 (DESCRIPTION)
選 項 (OPTIONS)
示 例 (EXAMPLES)
輸 出 格 式 (OUTPUT FORMAT)
另 見 (SEE ALSO)
作 者 (AUTHORS)
BUGS
[中 文 版 維 護 人 ]
[中 文 版 最 新 更 新 ]
《 中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 》
跋
NAME
tcpdump - 轉 儲 網 路 上 的 資 料 流
總 覽 (SYNOPSIS)
tcpdump
[
-adeflnNOpqStvx
] [
-c
count
] [
-F
file
]
[
-i
interface
] [
-r
file
] [
-s
snaplen
]
[
-T
type
] [
-w
file
] [
expression
]
描 述 (DESCRIPTION)
Tcpdump 打 印 出 在 某 個 網 路 介 面 上 , 匹 配 布 林 表 示 式 expression 的 報 文 的 報 頭 .
對 於 SunOS 的 nit 或 bpf 介 面 : 要 執 行 tcpdump , 你 必 須 有 /dev/nit 或 /dev/bpf* 的 讀 訪 問 許 可 權 .
對 於 Solaris 的 dlpi: 你 必 須 有 網 路 模 擬 裝 置 (network pseudo device), 如 /dev/le 的 讀 訪 問 許 可 權 .
對 於 HP-UX 的 dlpi: 你 必 須 是 root, 或 者 把 它 安 裝 成 root 的 設 定 uid 程 式 .
對 於 IRIX 的 snoop: 你 必 須 是 root, 或 者 把 它 安 裝 成 root 的 設 定 uid 程 式 .
對 於 Linux: 你 必 須 是 root, 或 者 把 它 安 裝 成 root 的 設 定 uid 程 式 .
對 於 Ultrix 和 Digital UNIX: 一 旦 超 級 使 用 者 使 用 pfconfig (8) 開 放 了 promiscuous 操 作 模 式 (promiscuous-mode), 任 何 使 用 者 都 可 以 執 行 tcpdump .
對 於 BSD: 你 必 須 有 /dev/bpf* 的 讀 訪 問 許 可 權 .
選 項 (OPTIONS)
|
-a |
試 著 把 網 路 和 廣 播 地 址 轉 換 成 名 稱 . |
||
|
-c |
當 收 到 count 報 文 後 退 出 . |
||
|
-d |
把 編 譯 好 的 報 文 匹 配 程 式 碼 (packet-matching code) 翻 譯 成 可 讀 形 式 , 傳 往 標 準 輸 出 , 然 後 退 出 . |
||
|
-dd |
把 報 文 匹 配 程 式 碼 (packet-matching code) 以 C 程 式 片 斷 的 形 式 輸 出 . |
||
|
-ddd |
把 報 文 匹 配 程 式 碼 (packet-matching code) 以 十 進 位 制 數 形 式 輸 出 (前 面 加 上 總 數 ). |
||
|
-e |
顯 示 鏈 路 層 報 頭 . |
||
|
-f |
以 數 字 形 式 顯 示 ’外 部 的 ’ 網 際 網 路 地 址 , 而 不 是 字 元 形 式 (這 個 選 項 用 來 繞 開 腦 殼 壞 光 的 SUN 黃 頁 伺 服 器 的 問 題 — 一 般 說 來 當 它 翻 譯 外 部 網 路 的 數 字 地 址 時 會 長 期 掛 起 ). |
||
|
-F |
把 file 的 內 容 用 作 過 濾 表 示 式 . 忽 略 命 令 列 上 的 表 示 式 . |
||
|
-i |
監 聽 interface . 如 果 不 指 定 介 面 , tcpdump 在 系 統 的 介 面 清 單 中 , 尋 找 號 碼 最 小 , 已 經 配 置 好 的 介 面 (loopback 除 外 ). 選 中 的 時 候 會 中 斷 連 線 . |
||
|
-l |
行 緩 衝 標 準 輸 出 . 可 用 於 捕 捉 資 料 的 同 時 檢 視 資 料 . 例 如 , |
‘‘tcpdump -l | tee dat’’ or ‘‘tcpdump -l > dat & tail -f dat’’.
|
-n |
不 要 把 地 址 轉 換 成 名 字 (指 的 是 主 機 地 址 , 埠 號 等 ) |
||
|
-N |
不 顯 示 主 機 名 字 中 的 域 名 部 分 . 例 如 , 如 果 使 用 這 個 選 項 , tcpdump 只 顯 示 ‘‘nic’’, 而 不 是 ‘‘nic.ddn.mil’’. |
||
|
-O |
禁 止 執 行 報 文 匹 配 程 式 碼 的 最 佳 化 器 . 這 個 選 項 只 有 當 你 懷 疑 最 佳 化 器 有 bug 時 才 有 用 . |
||
|
-p |
禁 止 把 介 面 置 成 promiscuous(雜 湊 ) 模 式 . 注 意 , 介 面 有 可 能 因 其 他 原 因 而 處 於 promiscuous 模 式 ; 因 此 , ’-p’ 不 能 作 為 ‘ether host {local-hw-addr} 或 ether broadcast’ 的 簡 寫 . |
||
|
-q |
快 速 輸 出 . 顯 示 較 少 的 協 議 資 訊 , 輸 出 行 會 短 一 點 點 . |
||
|
-r |
從 file 中 讀 入 資 料 報 (檔 案 是 用 -w 選 項 建 立 的 ). 如 果 file 是 ‘‘-’’, 就 從 標 準 輸 入 讀 入 . |
||
|
-s |
從 每 個 報 文 中 擷 取 snaplen 位 元 組 的 資 料 , 而 不 是 預 設 的 68 (如 果 是 SunOS 的 NIT, 最 小 值 是 96). 68 個 位 元 組 適 用 於 IP, ICMP, TCP 和 UDP, 但 是 有 可 能 截 掉 名 字 伺 服 器 和 NFS 報 文 的 協 議 資 訊 (見 下 文 ). 輸 出 時 如 果 指 定 ‘‘[| proto ]’’, tcpdump 可 以 指 出 那 些 捕 捉 量 過 小 的 資 料 報 , 這 裡 的 proto 是 截 斷 髮 生 處 的 協 議 層 名 稱 . 注 意 , 採 用 更 大 的 捕 捉 範 圍 不 但 增 加 了 處 理 報 文 的 時 間 , 而 且 減 少 了 報 文 的 緩 衝 數 量 , 可 能 導 致 報 文 的 丟 失 . 你 應 該 把 snaplen 設 的 儘 量 小 , 只 要 能 夠 容 納 你 需 要 的 協 議 資 訊 就 可 以 了 . |
||
|
-T |
把 透 過 " expression " 挑 選 出 來 的 報 文 解 釋 成 指 定 的 type . 目 前 已 知 的 型 別 有 : rpc (遠 端 過 程 呼 叫 Remote Procedure Call), rtp (即 時 應 用 協 議 Real-Time Applications protocol), rtcp (即 時 應 用 控 制 協 議 Real-Time Applications control protocol), vat (可 視 音 訊 工 具 Visual Audio Tool), 和 wb (分 散 式 白 板 distributed White Board). |
||
|
-S |
顯 示 絕 對 的 , 而 不 是 相 對 的 TCP 流 序 號 . |
||
|
-t |
禁 止 顯 示 時 戳 標 誌 . |
||
|
-tt |
顯 示 未 格 式 化 的 時 戳 標 誌 . |
||
|
-v |
(稍 微 多 一 點 ) 繁 瑣 的 輸 出 . 例 如 , 顯 示 IP 資 料 報 中 的 生 存 週 期 和 服 務 型 別 . |
||
|
-vv |
更 繁 瑣 的 輸 出 . 例 如 , 顯 示 NFS 應 答 報 文 的 附 加 域 . |
||
|
-w |
把 原 始 報 文 存 進 file , 不 做 分 析 和 顯 示 . 它 們 可 以 以 後 用 -r 選 項 顯 示 . 如 果 file 是 ‘‘-’’, 就 寫 往 標 準 輸 出 . |
||
|
-x |
以 16 進 位 制 數 形 式 顯 示 每 一 個 報 文 (去 掉 鏈 路 層 報 頭 後 ) . 可 以 顯 示 較 小 的 完 整 報 文 , 否 則 只 顯 示 snaplen 個 位 元 組 . |
expression
用 來 選 擇 要 轉 儲 的 資 料 報 . 如 果 沒 有 指 定 expression , 就 轉 儲 網 路 的 全 部 報 文 . 否 則 , 只 轉 儲 相 對 expression 為 ‘true’ 的 資 料 報 .
expression 由 一 個 或 多 個 原 語 (primitive) 組 成 . 原 語 通 常 由 一 個 標 識 (id, 名 稱 或 數 字 ), 和 標 識 前 面 的 一 個 或 多 個 修 飾 子 (qualifier) 組 成 . 修 飾 子 有 三 種 不 同 的 型 別 :
|
type |
型 別 修 飾 子 指 出 標 識 名 稱 或 標 識 數 字 代 表 什 麼 型 別 的 東 西 . 可 以 使 用 的 型 別 有 host , net 和 port . 例 如 , ‘host foo’, ‘net 128.3’, ‘port 20’. 如 果 不 指 定 型 別 修 飾 子 , 就 使 用 預 設 的 host . |
||
|
dir |
方 向 修 飾 子 指 出 相 對 於 標 識 的 傳 輸 方 向 (資 料 是 傳 入 還 是 傳 出 標 識 ). 可 以 使 用 的 方 向 有 src , dst , src or dst 和 src and dst . 例 如 , ‘src foo’, ‘dst net 128.3’, ‘src or dst port ftp-data’. 如 果 不 指 定 方 向 修 飾 子 , 就 使 用 預 設 的 src or dst . 對 於 ‘null’ 鏈 路 層 (就 是 說 象 slip 之 類 的 點 到 點 協 議 ), 用 inbound 和 outbound 修 飾 子 指 定 所 需 的 傳 輸 方 向 . |
||
|
proto |
協 議 修 飾 子 要 求 匹 配 指 定 的 協 議 . 可 以 使 用 的 協 議 有 : ether , fddi , ip , arp , rarp , decnet , lat , sca , moprc , mopdl , tcp 和 udp . 例 如 , ‘ether src foo’, ‘arp net 128.3’, ‘tcp port 21’. 如 果 不 指 定 協 議 修 飾 子 , 就 使 用 所 有 符 合 型 別 的 協 議 . 例 如 , ‘src foo’ 指 ‘(ip 或 arp 或 rarp) src foo’ (注 意 後 者 不 符 合 語 法 ), ‘net bar’ 指 ‘(ip 或 arp 或 rarp) net bar’, ‘port 53’ 指 ‘(tcp 或 udp) port 53’. |
[‘fddi’ 實 際 上 是 ‘ether’ 的 別 名 ; 分 析 器 把 它 們 視 為 ‘‘用 在 指 定 網 路 介 面 上 的 資 料 鏈 路 層 .’’ FDDI 報 頭 包 含 類 似 於 以 太 協 議 的 源 目 地 址 , 而 且 通 常 包 含 類 似 於 以 太 協 議 的 報 文 型 別 , 因 此 你 可 以 過 濾 FDDI 域 , 就 象 分 析 以 太 協 議 一 樣 . FDDI 報 頭 也 包 含 其 他 域 , 但 是 你 不 能 在 過 濾 器 表 示 式 裡 顯 式 描 述 .]
作 為 上 述 的 補 充 , 有 一 些 特 殊 的 ‘原 語 ’ 關 鍵 字 : gateway , broadcast , less , greater 和 數 學 表 示 式 . 它 們 不 同 於 上 面 的 模 式 , 這 些 在 後 面 有 敘 述 .
更 復 雜 的 過 濾 器 表 示 式 可 以 透 過 and , or 和 not 連 線 原 語 來 組 建 . 例 如 , ‘host foo and not port ftp and not port ftp-data’. 為 了 少 敲 點 鍵 , 可 以 忽 略 相 同 的 修 飾 子 . 例 如 , ‘tcp dst port ftp or ftp-data or domain’ 實 際 上 就 是 ‘tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain’.
允
許 的 原 語 有 :
dst host
host
如 果 報 文 中 IP 的 目 的 地 址 域 是 host , 則 邏 輯 為 真 . host 既 可 以 是 地 址 , 也 可 以 是 主 機 名 .
src host host
如 果 報 文 中 IP 的 源 地 址 域 是 host , 則 邏 輯 為 真 .
host host
如 果 報 文 中 IP 的 源 地 址 域 或 者 目 的 地 址 域 是 host , 則 邏 輯 為 真 . 上 面 所 有 的 host 表 示 式 都 可 以 加 上 ip , arp , 或 rarp 關 鍵 字 做 字 首 , 就 象 :
ip host host
它 等 價 於 :
ether proto \ip and host host
如 果 host 是 擁 有 多 個 IP 地 址 的 主 機 名 , 它 的 每 個 地 址 都 會 被 查 驗 .
ether dst ehost
如 果 報 文 的 以 太 目 的 地 址 是 ehost , 則 邏 輯 為 真 . Ehost 既 可 以 是 名 字 (/etc/ethers 裡 有 ), 也 可 以 是 數 字 (有 關 數 字 格 式 另 見 ethers (3N) ).
ether src ehost
如 果 報 文 的 以 太 源 地 址 是 ehost , 則 邏 輯 為 真 .
ether host ehost
如 果 報 文 的 以 太 源 地 址 或 以 太 目 的 地 址 是 ehost , 則 邏 輯 為 真 .
gateway host
如 果 報 文 把 host 當 做 閘 道 器 , 則 邏 輯 為 真 . 也 就 是 說 , 報 文 的 以 太 源 或 目 的 地 址 是 host , 但 是 IP 的 源 目 地 址 都 不 是 host . host 必 須 是 個 主 機 名 , 而 且 必 須 存 在 /etc/hosts 和 /etc/ethers 中 . (一 個 等 價 的 表 示 式 是
ether host ehost and not host host
對 於 host / ehost , 它 既 可 以 是 名 字 , 也 可 以 是 數 字 .)
dst net net
如 果 報 文 的 IP 目 的 地 址 屬 於 網 路 號 net , 則 邏 輯 為 真 . net 既 可 以 是 名 字 (存 在 /etc/networks 中 ), 也 可 以 是 網 路 號 . (詳 見 networks(4) ).
src net net
如 果 報 文 的 IP 源 地 址 屬 於 網 路 號 net , 則 邏 輯 為 真 .
net net
如 果 報 文 的 IP 源 地 址 或 目 的 地 址 屬 於 網 路 號 net , 則 邏 輯 為 真 .
net net mask mask
如 果 IP 地 址 匹 配 指 定 網 路 掩 碼 (netmask) 的 net , 則 邏 輯 為 真 . 本 原 語 可 以 用 src 或 dst 修 飾 .
net net / len
如 果 IP 地 址 匹 配 指 定 網 路 掩 碼 的 net , 則 邏 輯 為 真 , 掩 碼 的 有 效 位 寬 為 len . 本 原 語 可 以 用 src 或 dst 修 飾 .
dst port port
如 果 報 文 是 ip/tcp 或 ip/udp, 並 且 目 的 埠 是 port , 則 邏 輯 為 真 . port 是 一 個 數 字 , 也 可 以 是 /etc/services 中 說 明 過 的 名 字 (參 看 tcp (4P) 和 udp (4P)). 如 果 使 用 名 字 , 則 檢 查 埠 號 和 協 議 . 如 果 使 用 數 字 , 或 者 有 二 義 的 名 字 , 則 只 檢 查 埠 號 (例 如 , dst port 513 將 顯 示 tcp/login 的 資 料 和 udp/who 的 資 料 , 而 port domain 將 顯 示 tcp/domain 和 udp/domain 的 資 料 ).
src port port
如 果 報 文 的 源 埠 號 是 port , 則 邏 輯 為 真 .
port port
如 果 報 文 的 源 埠 或 目 的 埠 是 port , 則 邏 輯 為 真 . 上 述 的 任 意 一 個 埠 表 示 式 都 可 以 用 關 鍵 字 tcp 或 udp 做 字 首 , 就 象 :
tcp src port port
它 只 匹 配 源 埠 是 port 的 TCP 報 文 .
less length
如 果 報 文 的 長 度 小 於 等 於 length , 則 邏 輯 為 真 . 它 等 同 於 :
len <= length .
greater length
如 果 報 文 的 長 度 大 於 等 於 length , 則 邏 輯 為 真 . 它 等 同 於 :
len >= length .
ip proto protocol
如 果 報 文 是 IP 資 料 報 (參 見 ip (4P)) , 其 內 容 的 協 議 型 別 是 protocol , 則 邏 輯 為 真 . Protocol 可 以 是 數 字 , 也 可 以 是 下 列 名 稱 中 的 一 個 : icmp , igrp , udp , nd , 或 tcp . 注 意 這 些 識 別 符 號 tcp , udp , 和 icmp 也 是 關 鍵 字 , 所 以 必 須 用 反 斜 槓 (\) 轉 義 , 在 C-shell 中 應 該 是 \\ .
ether broadcast
如 果 報 文 是 以 太 廣 播 報 文 , 則 邏 輯 為 真 . 關 鍵 字 ether 是 可 選 的 .
ip broadcast
如 果 報 文 是 IP廣 播 報 文 , 則 邏 輯 為 真 . Tcpdump 檢 查 全 0 和 全 1 廣 播 約 定 , 並 且 檢 查 本 地 的 子 網 掩 碼 .
ether multicast
如 果 報 文 是 以 太 多 目 傳 送 報 文 (multicast), 則 邏 輯 為 真 . 關 鍵 字 ether 是 可 選 的 . 這 實 際 上 是 ‘ ether[0] & 1 != 0 ’ 的 簡 寫 .
ip multicast
如 果 報 文 是 IP多 目 傳 送 報 文 , 則 邏 輯 為 真 .
ether proto protocol
如 果 報 文 協 議 屬 於 以 太 型 別 的 protocol , 則 邏 輯 為 真 . Protocol 可 以 是 數 字 , 也 可 以 是 名 字 , 如 ip , arp , 或 rarp . 注 意 這 些 識 別 符 號 也 是 關 鍵 字 , 所 以 必 須 用 反 斜 槓 (\) 轉 義 . [如 果 是 FDDI (例 如 , ‘ fddi protocol arp ’), 協 議 標 識 來 自 802.2 邏 輯 鏈 路 控 制 (LLC)報 頭 , 它 通 常 位 於 FDDI 報 頭 的 頂 層 . 當 根 據 協 議 標 識 過 濾 報 文 時 , Tcpdump 假 設 所 有 的 FDDI 報 文 含 有 LLC 報 頭 , 而 且 LLC 報 頭 用 的 是 SNAP 格 式 .]
decnet src host
如 果 DECNET 的 源 地 址 是 host , 則 邏 輯 為 真 , 該 主 機 地 址 的 形 式 可 能 是 ‘‘10.123’’, 或 者 是 DECNET 主 機 名 . [只 有 配 置 成 執 行 DECNET 的 Ultrix 系 統 支 援 DECNET 主 機 名 .]
decnet dst host
如 果 DECNET 的 目 的 地 址 是 host , 則 邏 輯 為 真 .
decnet host host
如 果 DECNET 的 源 地 址 或 目 的 地 址 是 host , 則 邏 輯 為 真 .
ip , arp , rarp , decnet
是 :
ether proto p
的 簡 寫 形 式 , 其 中 p 為 上 述 協 議 的 一 種 .
lat , moprc , mopdl
是 :
ether proto p
的 簡 寫 形 式 , 其 中 p 為 上 述 協 議 的 一 種 . 注 意 tcpdump 目 前 不 知 道 如 何 分 析 這 些 協 議 .
tcp , udp , icmp
是 :
ip proto p
的 簡 寫 形 式 , 其 中 p 為 上 述 協 議 的 一 種 .
expr relop expr
如 果 這 個 關 係 式 成 立 , 則 邏 輯 為 真 , 其 中 relop 是 >, <, >=, <=, =, != 之 一 , expr 是 數 學 表 示 式 , 由 常 整 數 (標 準 C語 法 形 式 ), 普 通 的 二 進 位 制 運 算 子 [+, -, *, /, &, |], 一 個 長 度 運 算 子 , 和 指 定 的 報 文 資 料 訪 問 算 符 組 成 . 要 訪 問 報 文 內 的 資 料 , 使 用 下 面 的 語 法 :
proto [ expr : size ]
Proto 是 ether, fddi, ip, arp, rarp, tcp, udp, or icmp 之 一 , 同 時 也 指 出 了 下 標 操 作 的 協 議 層 . expr 給 出 位 元 組 單 位 的 偏 移 量 , 該 偏 移 量 相 對 於 指 定 的 協 議 層 . Size 是 可 選 項 , 指 出 感 興 趣 的 位 元 組 數 ; 它 可 以 是 1, 2, 4, 預 設 為 1 位 元 組 . 由 關 鍵 字 len 給 出 的 長 度 運 算 子 指 明 報 文 的 長 度 .
例 如 , ‘ ether[0] & 1 != 0 ’ 捕 捉 所 有 的 多 目 傳 送 報 文 . 表 示 式 ‘ ip[0] & 0xf != 5 ’ 捕 捉 所 有 帶 可 選 域 的 IP 報 文 . 表 示 式 ‘ ip[6:2] & 0x1fff = 0 ’ 只 捕 捉 未 分 片 和 片 偏 移 為 0 的 資 料 報 . 這 種 檢 查 隱 含 在 tcp 和 udp 下 標 操 作 中 . 例 如 , tcp[0] 一 定 是 TCP 報 頭 的 第 一 個 位 元 組 , 而 不 是 其 中 某 個 IP片 的 第 一 個 位 元 組 .
原 語 可 以 用 下 述 方 法 結 合 使 用 :
園 括 弧 括 起 來 的 原 語 和 運 算 子 (園 括 弧 在 Shell 中 有 專 用 , 所 以 必 須 轉 義 ).
取 反 操 作 (‘ ! ’ or ‘ not ’).
連 結 操 作 (‘ && ’ or ‘ and ’).
或 操 作 (‘ || ’ or ‘ or ’).
取 反 操 作 有 最 高 優 先 順 序 . 或 操 作 和 連 結 操 作 有 相 同 的 優 先 順 序 , 運 算 時 從 左 到 右 結 合 . 注 意 連 結 操 作 需 要 顯 式 的 and 算 符 , 而 不 是 並 列 放 置 .
如 果 給 出 識 別 符 號 , 但 沒 給 關 鍵 字 , 那 麼 暗 指 最 近 使 用 的 關 鍵 字 . 例 如 ,
not host vs and ace
作 為
not host vs and host ace
的 簡 寫 形 式 , 不 應 該 和
not ( host vs or ace )
混 淆 .
表 示 式 引 數 可 以 作 為 單 個 引 數 , 也 可 以 作 為 複 合 引 數 傳 給 tcpdump, 後 者 更 方 便 一 些 . 一 般 說 來 , 如 果 表 示 式 包 含 Shell 元 字 元 (metacharacter), 傳 遞 單 個 括 起 來 的 引 數 要 容 易 一 些 . 複 合 引 數 在 被 解 析 前 用 空 格 聯 接 一 起 .
示 例 (EXAMPLES)
顯 示 所 有 進 出 sundown 的 報 文 :
tcpdump host sundown
顯 示 helios 和 主 機 hot , ace 之 間 的 報 文 傳 送 :
tcpdump host helios and \( hot or ace \)
顯 示 ace 和 除 了 helios 以 外 的 所 有 主 機 的 IP報 文 :
tcpdump ip host ace and not helios
顯 示 本 地 的 主 機 和 Berkeley的 主 機 之 間 的 網 路 資 料 :
tcpdump net ucb-ether
顯 示 所 有 透 過 閘 道 器 snup 的 ftp 報 文 (注 意 這 個 表 示 式 被 單 引 號 括 起 , 防 止 shell 解 釋 園 括 弧 ):
tcpdump ’gateway snup and (port ftp or ftp-data)’
顯 示 既 不 是 來 自 本 地 主 機 , 也 不 是 傳 往 本 地 主 機 的 網 路 資 料 (如 果 報 文 透 過 閘 道 器 進 入 其 他 網 路 , 那 麼 它 絕 不 可 能 到 達 你 的 本 地 網 路 ).
tcpdump ip and not net localnet
顯 示 每 個 TCP會 話 的 起 始 和 結 束 報 文 (SYN 和 FIN 報 文 ), 而 且 會 話 方 中 有 一 個 遠 端 主 機 .
tcpdump ’tcp[13] & 3 != 0 and not src and dst net localnet ’
顯 示 經 過 閘 道 器 snup 中 大 於 576 位 元 組 的 IP 資 料 報 :
tcpdump ’gateway snup and ip[2:2] > 576’
顯 示 IP 廣 播 或 多 目 傳 送 的 資 料 報 , 但 這 些 報 文 不 是 透 過 以 太 廣 播 或 以 太 多 目 傳 送 形 式 傳 送 的 :
tcpdump ’ether[0] & 1 = 0 and ip[16] >= 224’
顯 示 所 有 不 是 迴 響 請 求 /應 答 的 ICMP 報 文 (也 就 是 說 , 不 是 ping 報 文 ):
tcpdump ’icmp[0] != 8 and icmp[0] != 0"
輸 出 格 式 (OUTPUT FORMAT)
tcpdump 的 輸 出 格 式 取 決 於 協 議 . 下 面 的 描 述 給 出 大 多 數 格 式 的 簡 要 說 明 和 範 例 .
鏈 路 層 報 頭 (Link Level Headers)
如 果 給 出 ’-e’ 選 項 就 顯 示 鏈 路 層 報 頭 .
在 乙 太 網 上 , 顯 示 報 文 的 源 目 地 址 , 協 議 和 報 文 長 度 .
在 FDDI 網 路 上 , ’-e’ 選 項 導 致 tcpdump 顯 示 出 ‘幀 控 制 (frame control)’ 域 , 源 目 地 址 和 報 文 長 度 . (‘幀 控 制 ’ 域 負 責 解 釋 其 餘 的 報 文 . 普 通 報 文 (例 如 裝 載 IP資 料 報 的 報 文 ) 是 ‘非 同 步 ’ 報 文 , 優 先 順 序 介 於 0 到 7 (例 如 , ‘ async4 ’). 那 些 被 認 為 攜 帶 了 802.2 邏 輯 鏈 路 控 制 (LLC) 報 文 ; 如 果 它 們 不 是 ISO 資 料 報 或 者 所 謂 的 SNAP 報 文 , 就 顯 示 LLC 報 頭 .
(注 意 : 以 下 描 述 中 假 設 你 熟 悉 RFC-1144 中 說 明 的 SLIP 壓 縮 演 算 法 .)
在 SLIP 鏈 路 上 , tcpdump 顯 示 出 方 向 指 示 (‘‘I’’ 指 inbound(進 入 ), ‘‘O’’ 指 outbound(離 開 )), 報 文 型 別 和 壓 縮 資 訊 . 首 先 顯 示 的 是 報 文 型 別 . 有 三 種 型 別 ip , utcp 和 ctcp . 對 於 ip 報 文 不 再 顯 示 更 多 的 鏈 路 資 訊 . 對 於 TCP 報 文 , 在 型 別 後 面 顯 示 連 線 標 識 . 如 果 報 文 是 壓 縮 過 的 , 就 顯 示 出 它 的 編 碼 報 頭 . 這 種 特 殊 情 況 以 *S+ n 和 *SA+ n 的 形 式 顯 示 , 這 裡 的 n 是 流 序 號 (或 者 流 序 號 和 ack) 的 變 化 總 量 . 如 果 不 是 特 殊 情 況 , 就 顯 示 出 0 或 多 個 變 化 . 變 化 由 U (urgent pointer), W (window), A (ack), S (sequence number) 和 I (packet ID) 指 明 , 後 跟 一 個 變 化 量 (+n or -n), 或 者 是 一 個 新 值 (=n). 最 後 顯 示 報 文 中 的 資 料 總 量 , 以 及 壓 縮 報 頭 的 長 度 .
例 如 , 下 面 一 行 顯 示 了 一 個 傳 出 的 壓 縮 的 TCP 報 文 , 有 一 個 隱 含 的 連 線 標 識 ; 確 認 (ack)的 變 化 量 是 6, 流 序 號 增 加 49, 報 文 ID 增 加 6; 有 三 個 位 元 組 的 資 料 和 六 個 位 元 組 的 壓 縮 報 頭 :
O ctcp * A+6 S+49 I+6 3 (6)
ARP/RARP 報 文
Arp/rarp 報 文 的 輸 出 是 請 求 型 別 及 其 引 數 . 輸 出 格 式 大 體 上 能 夠 自 我 解 釋 . 這 裡 是 一 個 簡 單 的 例 子 , 來 自 主 機 rtsg 到 主 機 csam 的 ’rlogin’ 開 始 部 分 :
arp who-has csam tell rtsg
arp reply csam is-at CSAM
第 一 行 說 明 rtsg 發 出 一 個 arp 報 文 詢 問 internet 主 機 csam 的 乙 太 網 地 址 . Csam 用 它 的 以 太 地 址 作 應 答 (這 個 例 子 中 , 以 太 地 址 是 大 寫 的 , internet 地 址 為 小 寫 ).
如 果 用 tcpdump -n 看 就 清 楚 一 些 :
arp who-has 128.3.254.6 tell
128.3.254.68
arp reply 128.3.254.6 is-at 02:07:01:00:01:c4
如 果 用 tcpdump -e , 可 以 看 到 實 際 上 第 一 個 報 文 是 廣 播 , 第 二 個 報 文 是 點 到 點 的 :
RTSG Broadcast 0806 64: arp
who-has csam tell rtsg
CSAM RTSG 0806 64: arp reply csam is-at CSAM
這 裡 第 一 個 報 文 指 出 乙 太 網 源 地 址 是 RTSG, 目 的 地 址 是 乙 太 網 廣 播 地 址 , 型 別 域 為 16進 位 制 數 0806 (型 別 ETHER_ARP), 報 文 全 長 64 位 元 組 .
TCP 報 文
(注 意 : 以 下 的 描 述 中 假 設 你 熟 悉 RFC-793 中 說 明 的 TCP 協 議 , 如 果 你 不 瞭 解 這 個 協 議 , 無 論 是 本 文 還 是 tcpdump 都 對 你 用 處 不 大 )
一 般 說 來 tcp 協 議 的 輸 出 格 式 是 :
src > dst: flags data-seqno ack window urgent options
Src 和 dst 是 源 目 IP地 址 和 埠 . Flags 是 S (SYN), F (FIN), P (PUSH) 或 R (RST) 或 單 獨 的 ‘.’(無 標 誌 ), 或 者 是 它 們 的 組 合 . Data-seqno 說 明 了 本 報 文 中 的 資 料 在 流 序 號 中 的 位 置 (見 下 例 ). Ack 是 在 這 條 連 線 上 信 源 機 希 望 下 一 個 接 收 的 位 元 組 的 流 序 號 (sequence number). Window 是 在 這 條 連 線 上 信 源 機 接 收 緩 衝 區 的 位 元 組 大 小 . Urg 表 明 報 文 內 是 ‘緊 急 (urgent)’ 資 料 . Options 是 tcp 選 項 , 用 尖 括 號 括 起 (例 如 , <mss 1024>).
Src, dst 和 flags 肯 定 存 在 . 其 他 域 依 據 報 文 的 tcp 報 頭 內 容 , 只 輸 出 有 必 要 的 部 分 .
下 面 是 從 主 機 rtsg rlogin 到 主 機 csam 的 開 始 部 分 .
rtsg.1023 >
csam.login: S 768512:768512(0) win 4096 <mss 1024>
csam.login > rtsg.1023: S 947648:947648(0) ack 768513 win
4096 <mss 1024>
rtsg.1023 > csam.login: . ack 1 win 4096
rtsg.1023 > csam.login: P 1:2(1) ack 1 win 4096
csam.login > rtsg.1023: . ack 2 win 4096
rtsg.1023 > csam.login: P 2:21(19) ack 1 win 4096
csam.login > rtsg.1023: P 1:2(1) ack 21 win 4077
csam.login > rtsg.1023: P 2:3(1) ack 21 win 4077 urg 1
csam.login > rtsg.1023: P 3:4(1) ack 21 win 4077 urg
1
第 一 行 是 說 從 rtsg 的 tcp 埠 1023 向 csam 的 login 埠 傳 送 報 文 . S 標 誌 表 明 設 定 了 SYN 標 誌 . 報 文 的 流 序 號 是 768512, 沒 有 資 料 . (這 個 寫 成 ‘first:last(nbytes)’, 意 思 是 ‘從 流 序 號 first 到 last , 不 包 括 last , 有 nbytes 位 元 組 的 使 用 者 資 料 ’.) 此 時 沒 有 捎 帶 確 認 (piggy-backed ack), 有 效 的 接 收 視 窗 是 4096 位 元 組 , 有 一 個 最 大 分 段 長 度 (max-segment-size) 的 選 項 , 請 求 設 定 mss 為 1024 位 元 組 .
Csam 用 類 似 的 形 式 應 答 , 只 是 增 加 了 一 個 對 rtsg SYN 的 捎 帶 確 認 . 然 後 Rtsg 確 認 csam 的 SYN. ‘.’ 意 味 著 沒 有 設 定 標 誌 . 這 個 報 文 不 包 含 資 料 , 因 此 也 就 沒 有 資 料 的 流 序 號 . 注 意 這 個 確 認 流 序 號 是 一 個 小 整 數 (1). 當 tcpdump 第 一 次 發 現 一 個 tcp 會 話 時 , 它 顯 示 報 文 攜 帶 的 流 序 號 . 在 隨 後 收 到 的 報 文 裡 , 它 顯 示 當 前 報 文 和 最 初 那 個 報 文 的 流 序 號 之 差 . 這 意 味 著 從 第 一 個 報 文 開 始 , 以 後 的 流 序 號 可 以 理 解 成 資 料 流 中 的 相 對 位 移 (每 個 報 文 的 第 一 個 資 料 位 元 組 從 ’1’ 計 數 ). ‘-S’ 選 項 能 夠 改 變 這 個 特 性 , 直 接 顯 示 原 始 的 流 序 號 .
在 第 六 行 , rtsg 傳 給 csam 19 個 位 元 組 的 資 料 (位 元 組 2 到 20). 報 文 中 設 定 了 PUSH 標 誌 . 第 七 行 csam 表 明 它 收 到 了 rtsg 的 資 料 , 位 元 組 序 號 是 21, 但 不 包 括 第 21個 位 元 組 . 顯 然 大 多 數 資 料 在 socket 的 緩 衝 區 內 , 因 為 csam 的 接 收 視 窗 收 到 的 資 料 小 於 19 個 位 元 組 . 同 時 csam 向 rtsg 傳 送 了 一 個 位 元 組 的 資 料 . 第 八 和 第 九 行 顯 示 csam 傳 送 了 兩 個 位 元 組 的 緊 急 資 料 到 rtsg.
如 果 捕 捉 區 設 定 的 過 小 , 以 至 於 tcpdump 不 能 捕 捉 到 完 整 的 TCP 報 頭 , tcpdump 會 儘 可 能 的 翻 譯 已 捕 獲 的 部 分 , 然 後 顯 示 ‘‘[| tcp ]’’, 表 明 無 法 翻 譯 其 餘 部 分 . 如 果 報 頭 包 含 有 問 題 的 選 項 (選 項 表 長 度 太 小 或 者 超 出 報 頭 範 圍 ), tcpdump 顯 示 ‘‘[ bad opt ]’’ 並 且 不 再 翻 譯 其 他 選 項 部 分 (因 為 它 不 可 能 判 斷 出 從 哪 兒 開 始 ). 如 果 報 頭 長 度 表 明 存 在 選 項 , 但 是 IP 資 料 報 長 度 不 夠 , 不 可 能 真 的 儲 存 選 項 , tcpdump 就 顯 示 ‘‘[ bad hdr length ]’’.
UDP 報 文
UDP 格 式 就 象 這 個 rwho 報 文 顯 示 的 :
actinide.who > broadcast.who: udp 84
就 是 說 把 一 個 udp 資 料 報 從 主 機 actinide 的 who 埠 傳 送 到 broadcast , Internet 廣 播 地 址 的 who 埠 . 報 文 包 含 84位 元 組 的 使 用 者 資 料 .
某 些 UDP 服 務 能 夠 識 別 出 來 (從 源 目 埠 號 上 ), 因 而 顯 示 出 更 高 層 的 協 議 資 訊 . 特 別 是 域 名 服 務 請 求 (RFC-1034/1035) 和 NFS 的 RPC 呼 叫 (RFC-1050).
UDP 名 字 服 務 請 求 (Name Server Requests)
(注 意 : 以 下 的 描 述 中 假 設 你 熟 悉 RFC-1035 說 明 的 域 名 服 務 協 議 . 如 果 你 不 熟 悉 這 個 協 議 , 下 面 的 內 容 可 能 看 起 來 是 天 書 .)
名 字 服 務 請 求 的 格 式 是
src > dst: id op? flags
qtype qclass name (len)
h2opolo.1538 > helios.domain: 3+ A? ucbvax.berkeley.edu.
(37)
主 機 h2opolo 訪 問 helios 上 的 域 名 服 務 , 詢 問 和 ucbvax.berkeley.edu. 關 聯 的 地 址 記 錄 (qtype=A). 查 詢 號 是 ‘3’. ‘+’ 表 明 設 定 了 遞 迴 請 求 標 誌 . 查 詢 長 度 是 37 位 元 組 , 不 包 括 UDP 和 IP 頭 . 查 詢 操 作 是 普 通 的 Query 操 作 , 因 此 op 域 可 以 忽 略 . 如 果 op 設 定 成 其 他 什 麼 東 西 , 它 應 該 顯 示 在 ‘3’ 和 ‘+’ 之 間 . 類 似 的 , qclass 是 普 通 的 C_IN 型 別 , 也 被 忽 略 了 . 其 他 型 別 的 qclass 應 該 在 ‘A’ 後 面 顯 示 .
Tcpdump 會 檢 查 一 些 不 規 則 情 況 , 相 應 的 結 果 作 為 補 充 域 放 在 方 括 號 內 : 如 果 某 個 查 詢 包 含 回 答 , 名 字 服 務 或 管 理 機 構 部 分 , 就 把 ancount , nscount , 或 arcount 顯 示 成 ‘[ n a]’, ‘[ n n]’ 或 ‘[ n au]’, 這 裡 的 n 代 表 相 應 的 數 量 . 如 果 在 第 二 和 第 三 位 元 組 中 , 任 何 一 個 回 答 位 (AA, RA 或 rcode) 或 任 何 一 個 ‘必 須 為 零 ’ 的 位 被 置 位 , 就 顯 示 ‘[b2&3= x ]’, 這 裡 的 x 是 報 頭 第 二 和 第 三 位 元 組 的 16進 位 制 數 .
UDP 名 字 服 務 回 答
名 字 服 務 回 答 的 格 式 是
src > dst: id op rcode
flags a/n/au type class data (len)
helios.domain > h2opolo.1538: 3 3/3/7 A 128.32.137.3
(273)
helios.domain > h2opolo.1537: 2 NXDomain* 0/1/0 (97)
第 一 個 例 子 裡 , helios 回 答 了 h2opolo 發 出 的 標 識 為 3 的 詢 問 , 一 共 是 3 個 回 答 記 錄 , 3 個 名 字 服 務 記 錄 和 7 個 管 理 結 構 記 錄 . 第 一 個 回 答 紀 錄 的 型 別 是 A (地 址 ), 資 料 是 internet 地 址 128.32.137.3. 回 答 的 全 長 為 273 位 元 組 , 不 包 括 UDP 和 IP 報 頭 . 作 為 A 記 錄 的 class(C_IN) 可 以 忽 略 op (詢 問 ) 和 rcode (NoError).
在
第 二 個 例 子 裡 ,
helios
對 標 識 為 2 的
詢 問 作 出 域 名
不 存 在 (NXDomain) 的 回
答 , 沒 有 回 答 記
錄 , 一 個 名 字 服
務 記 錄 , 沒 有 管
理 結 構 部 分 .
‘*’ 表 明 設 定 了
權 威 回 答 (authoritative
answer)
. 由 於 沒 有 回
答 記 錄 , 這 裡 就
不 顯 示 type, class 和 data.
其 他 標 誌 字 元 可 以 顯 示 為 ‘-’ ( 沒 有 設 定 遞 迴 有 效 (RA)) 和 ‘|’ (設 定 訊 息 截 短 (TC)). 如 果 ‘問 題 ’ 部 分 沒 有 有 效 的 內 容 , 就 顯 示 ‘[ n q]’.
注 意 名 字 服 務 的 詢 問 和 回 答 一 般 說 來 比 較 大 , 68 位 元 組 的 snaplen 可 能 無 法 捕 捉 到 足 夠 的 報 文 內 容 . 如 果 你 的 確 在 研 究 名 字 服 務 的 情 況 , 可 以 使 用 -s 選 項 增 大 捕 捉 緩 衝 區 . ‘ -s 128 ’ 應 該 效 果 不 錯 了 .
NFS 請 求 和 響 應
Sun NFS (網 路 檔 案 系 統 ) 的 請 求 和 響 應 顯 示 格 式 是 :
src.xid > dst.nfs: len op
args
src.nfs > dst.xid: reply stat len op results
sushi.6709 > wrl.nfs: 112 readlink fh 21,24/10.73165
wrl.nfs > sushi.6709: reply ok 40 readlink
"../var"
sushi.201b > wrl.nfs:
144 lookup fh 9,74/4096.6878 "xcolors"
wrl.nfs > sushi.201b:
reply ok 128 lookup fh 9,74/4134.3150
在 第 一 行 , 主 機 sushi 向 wrl 傳 送 號 碼 為 6709 的 互 動 會 話 (注 意 源 主 機 後 面 的 數 字 是 互 動 號 , 不 是 埠 ). 這 項 請 求 長 112 位 元 組 , 不 包 括 UDP 和 IP 報 頭 . 在 檔 案 控 制 代 碼 (fh) 21,24/10.731657119 上 執 行 readlink (讀 取 符 號 連 線 ) 操 作 . (如 果 運 氣 不 錯 , 就 象 這 種 情 況 , 檔 案 控 制 代 碼 可 以 依 次 翻 譯 成 主 次 裝 置 號 , i 節 點 號 , 和 事 件 號 (generation number). ) Wrl 回 答 ‘ok’ 和 連 線 的 內 容 .
在 第 三 行 , sushi 請 求 wrl 在 目 錄 檔 案 9,74/4096.6878 中 查 詢 ‘ xcolors ’. 注 意 資 料 的 列 印 格 式 取 決 於 操 作 型 別 . 格 式 應 該 可 以 自 我 說 明 .
給 出 -v (verbose) 選 項 可 以 顯 示 附 加 資 訊 . 例 如 :
sushi.1372a > wrl.nfs:
148 read fh 21,11/12.195 8192 bytes @ 24576
wrl.nfs > sushi.1372a:
reply ok 1472 read REG 100664 ids 417/0 sz 29388
(-v 同 時 使 它 顯 示 IP 報 頭 的 TTL, ID, 和 分 片 域 , 在 這 個 例 子 裡 把 它 們 省 略 了 .) 在 第 一 行 , sushi 請 求 wrl 從 檔 案 21,11/12.195 的 偏 移 位 置 24576 開 始 , 讀 取 8192 位 元 組 . Wrl 回 答 ‘ok’; 第 二 行 顯 示 的 報 文 是 應 答 的 第 一 個 分 片 , 因 此 只 有 1472 位 元 組 (其 餘 資 料 在 後 續 的 分 片 中 傳 過 來 , 但 由 於 這 些 分 片 裡 沒 有 NFS 甚 至 UDP 報 頭 , 因 此 根 據 所 使 用 的 過 濾 器 表 示 式 , 有 可 能 不 再 顯 示 ). -v 選 項 還 會 顯 示 一 些 檔 案 屬 性 (它 們 作 為 檔 案 資 料 的 附 帶 部 分 傳 回 來 ): 檔 案 型 別 (普 通 檔 案 ‘‘REG’’), 存 取 模 式 (八 進 位 制 數 ), uid 和 gid, 以 及 檔 案 大 小 .
如 果 再 給 一 個 -v 選 項 (-vv), 還 能 顯 示 更 多 的 細 節 .
注 意 NFS 請 求 的 資 料 量 非 常 大 , 除 非 增 加 snaplen , 否 則 很 多 細 節 無 法 顯 示 . 試 一 試 ‘ -s 192 ’ 選 項 .
NFS 應 答 報 文 沒 有 明 確 標 明 RPC 操 作 . 因 此 tcpdump 保 留 有 ‘‘近 來 的 ’’ 請 求 記 錄 , 根 據 互 動 號 匹 配 應 答 報 文 . 如 果 應 答 報 文 沒 有 相 應 的 請 求 報 文 , 它 就 無 法 分 析 .
KIP Appletalk (UDP 上 的 DDP)
Appletalk DDP 報 文 封 裝 在 UDP 資 料 報 中 , 解 包 後 按 DDP 報 文 轉 儲 (也 就 是 說 , 忽 略 所 有 的 UDP 報 頭 資 訊 ). 檔 案 /etc/atalk.names 用 來 把 appletalk 網 路 和 節 點 號 翻 譯 成 名 字 . 這 個 檔 案 的 行 格 式 是
number name
1.254 ether
16.1 icsd-net
1.254.110 ace
前 兩 行 給 出 了 appletalk 的 網 路 名 稱 . 第 三 行 給 出 某 個 主 機 的 名 字 (主 機 和 網 路 依 據 第 三 組 數 字 區 分 - 網 路 號 一 定 是 兩 組 數 字 , 主 機 號 一 定 是 三 組 數 字 .) 號 碼 和 名 字 用 空 白 符 (空 格 或 tab) 隔 開 . /etc/atalk.names 檔 案 可 以 包 含 空 行 或 註 釋 行 (以 ‘#’開 始 的 行 ).
Appletalk 地 址 按 這 個 格 式 顯 示
net.host.port
144.1.209.2
> icsd-net.112.220
office.2 > icsd-net.112.220
jssmag.149.235 > icsd-net.2
(如 果 不 存 在 /etc/atalk.names , 或 者 裡 面 缺 少 有 效 專 案 , 就 以 數 字 形 式 顯 示 地 址 .) 第 一 個 例 子 裡 , 網 路 144.1 的 209 節 點 的 NBP (DDP 埠 2) 向 網 路 icsd 的 112 節 點 的 220 埠 傳 送 資 料 . 第 二 行 和 上 面 一 樣 , 只 是 知 道 了 源 節 點 的 全 稱 (‘office’). 第 三 行 是 從 網 路 jssmag 的 149 節 點 的 235 埠 向 icsd-net 的 NBP 埠 廣 播 (注 意 廣 播 地 址 (255) 隱 含 在 無 主 機 號 的 網 路 名 字 中 - 所 以 在 /etc/atalk.names 中 區 分 節 點 名 和 網 路 名 是 個 好 主 意 ).
Tcpdump 可 以 翻 譯 NBP (名 字 聯 結 協 議 ) 和 ATP (Appletalk 互 動 協 議 ) 的 報 文 內 容 . 其 他 協 議 只 轉 儲 協 議 名 稱 (或 號 碼 , 如 果 還 沒 給 這 個 協 議 註 冊 名 稱 ) 和 報 文 大 小 .
NBP 報 文 的 輸 出 格 式 就 象 下 面 的 例 子 :
icsd-net.112.220 >
jssmag.2: nbp-lkup 190: "=:LaserWriter@*"
jssmag.209.2 > icsd-net.112.220: nbp-reply 190:
"RM1140:LaserWriter@*" 250
techpit.2 > icsd-net.112.220: nbp-reply 190:
"techpit:LaserWriter@*" 186
第 一 行 是 網 路 icsd 的 112 主 機 在 網 路 jssmag 上 的 廣 播 , 對 名 字 laserwriter 做 名 字 查 詢 請 求 . 名 字 查 詢 請 求 的 nbp 標 識 號 是 190. 第 二 行 顯 示 的 是 對 這 個 請 求 的 回 答 (注 意 它 們 有 同 樣 的 標 識 號 ), 主 機 jssmag.209 表 示 在 它 的 250 埠 註 冊 了 一 個 laserwriter 的 資 源 , 名 字 是 "RM1140". 第 三 行 是 這 個 請 求 的 其 他 回 答 , 主 機 techpit 的 186 埠 有 laserwriter 註 冊 的 "techpit".
ATP 報 文 格 式 如 下 例 所 示 :
jssmag.209.165 >
helios.132: atp-req 12266<0-7> 0xae030001
helios.132 > jssmag.209.165: atp-resp 12266:0 (512)
0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:1 (512)
0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:2 (512)
0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:3 (512)
0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:4 (512)
0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:5 (512)
0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:6 (512)
0xae040000
helios.132 > jssmag.209.165: atp-resp*12266:7 (512)
0xae040000
jssmag.209.165 > helios.132: atp-req 12266<3,5>
0xae030001
helios.132 > jssmag.209.165: atp-resp 12266:3 (512)
0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:5 (512)
0xae040000
jssmag.209.165 > helios.132: atp-rel 12266<0-7>
0xae030001
jssmag.209.133 > helios.132: atp-req* 12267<0-7>
0xae030002
Jssmag.209 向 主 機 helios 發 起 12266 號 互 動 操 作 , 請 求 8 個 報 文 (‘<0-7>’). 行 尾 的 十 六 進 位 制 數 是 請 求 中 ‘userdata’ 域 的 值 .
Helios 用 8 個 512位 元 組 的 報 文 應 答 . 跟 在 互 動 號 後 面 的 ‘:digit’ 給 出 了 互 動 過 程 中 報 文 的 序 列 號 , 括 弧 內 的 數 字 是 報 文 的 資 料 量 , 不 包 括 atp 報 頭 . 報 文 7 的 ‘*’ 表 明 設 定 了 EOM 位 .
然 後 Jssmag.209 請 求 重 傳 第 3 & 5 報 文 . Helios 做 了 重 傳 後 jssmag.209 結 束 這 次 互 動 操 作 . 最 後 , jssmag.209 發 起 下 一 次 互 動 請 求 . 請 求 中 的 ‘*’ 表 明 沒 有 設 定 XO (exactly once) 位 .
IP 分 片
分 片 的 Internet 資 料 報 顯 示 為
(frag
id
:
size
@
offset
+)
(frag
id
:
size
@
offset
)
(第 一 種 形 式 表 明 還 有 更 多 的 分 片 . 第 二 種 形 式 表 明 這 是 最 後 一 片 .)
Id 是 分 片 標 識 號 . Size 是 分 片 大 小 (位 元 組 ), 不 包 括 IP 報 頭 . Offset 是 該 分 片 在 原 資 料 報 中 的 偏 移 (單 位 是 位 元 組 ).
每 一 個 分 片 的 資 訊 都 可 以 打 印 出 來 . 第 一 個 分 片 包 含 了 高 層 協 議 報 頭 , 顯 示 協 議 資 訊 後 顯 示 分 片 的 資 訊 . 第 一 個 分 片 以 後 的 分 片 不 再 含 有 高 層 協 議 報 頭 , 所 以 在 源 目 地 址 後 面 只 顯 示 分 片 資 訊 . 例 如 , 下 面 是 從 arizona.edu 到 lbl-rtsg.arpa 的 一 部 分 ftp 傳 輸 , 途 經 的 CSNET 看 上 去 處 理 不 了 576 位 元 組 的 資 料 報 :
arizona.ftp-data >
rtsg.1170: . 1024:1332(308) ack 1 win 4096 (frag
595a:328@0+)
arizona > rtsg: (frag 595a:204@328)
rtsg.1170 > arizona.ftp-data: . ack 1536 win
2560
這 裡 有 幾 點 需 要 注 意 : 首 先 , 第 二 行 的 地 址 不 包 括 埠 號 . 這 是 因 為 TCP 協 議 資 訊 全 部 裝 到 了 第 一 個 分 片 內 , 所 以 顯 示 後 續 分 片 的 時 候 不 可 能 知 道 埠 或 流 序 號 . 其 次 , 第 一 行 的 tcp 流 序 號 部 分 看 上 去 有 308 位 元 組 的 使 用 者 資 料 , 實 際 上 是 512 位 元 組 (第 一 個 分 片 的 308 和 第 二 個 分 片 的 204 位 元 組 ). 如 果 你 正 在 尋 找 流 序 號 中 的 空 洞 , 或 者 試 圖 匹 配 報 文 的 確 認 (ack), 那 你 上 當 了 .
如 果 報 文 的 IP 標 有 不 要 分 片 標 誌 , 那 麼 在 尾 部 顯 示 (DF) .
時 戳
預 設 情 況 下 , 所 有 輸 出 行 的 前 面 都 有 時 戳 . 時 戳 就 是 當 前 時 間 , 顯 示 格 式 為
hh:mm:ss.frac
精 度 和 核 心 時 鐘 一 樣 . 時 戳 反 映 了 核 心 收 到 報 文 的 時 間 . 從 以 太 介 面 收 到 報 文 到 核 心 響 應 ’報 文 就 緒 ’ 中 斷 有 一 個 滯 後 , 該 滯 後 不 被 考 慮 .
另 見 (SEE ALSO)
traffic(1C), nit(4P), bpf(4), pcap(3)
作 者 (AUTHORS)
Van Jacobson, Craig Leres and Steven McCanne, all of the Lawrence Berkeley National Laboratory, University of California, Berkeley, CA.
當 前 版 本 可 以 從 匿 名 ftp 獲 得 :
ftp://ftp.ee.lbl.gov/tcpdump.tar.Z
BUGS
請 把 臭 蟲 報 告 傳 往 tcpdump@ee.lbl.gov.
NIT 不 允 許 監 視 你 自 己 的 傳 出 資 料 , BPF 可 以 . 我 們 建 議 你 使 用 後 者 .
應 該 試 著 重 組 IP 分 片 , 至 少 可 以 為 更 高 層 的 協 議 計 算 出 正 確 的 長 度 .
名 字 服 務 逆 向 詢 問 轉 儲 的 不 正 確 : 打 印 出 (空 的 )問 題 部 分 , 而 實 際 上 詢 問 放 在 了 回 答 部 分 . 有 人 認 為 這 種 逆 向 詢 問 本 身 就 是 bug, 應 該 修 改 產 生 問 題 的 程 式 , 而 非 tcpdump.
蘋 果 Ethertalk DDP 的 報 文 應 該 象 KIP DDP 的 報 文 一 樣 容 易 轉 儲 , 事 實 卻 不 是 這 樣 . 即 使 我 們 有 意 作 點 什 麼 來 促 銷 Ethertalk (我 們 沒 有 ), LBL 也 不 允 許 Ethertalk 出 現 在 它 的 任 何 網 路 上 , 所 以 我 們 沒 辦 法 測 試 這 些 程 式 碼 .
如 果 報 文 的 路 徑 上 出 現 夏 時 制 時 間 變 化 , 可 能 導 致 時 戳 混 亂 . (這 個 時 間 變 化 將 忽 略 )
操 作 FDDI 報 頭 的 過 濾 器 表 示 式 假 設 所 有 的 FDDI 報 文 被 封 裝 在 以 太 報 文 中 . 這 對 IP, ARP 和 DECNET Phase IV 無 疑 是 正 確 的 , 但 對 某 些 協 議 如 ISO CLNS 不 正 確 . 因 此 , 過 濾 器 有 可 能 會 糊 里 糊 塗 的 的 接 收 一 些 並 不 真 正 匹 配 過 濾 器 表 示 式 的 報 文 .
[中 文 版 維 護 人 ]
徐 明 <xuming@users.sourceforge.net>
[中 文 版 最 新 更 新 ]
2003/05/13
《 中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 》
http://cmpp.linuxforum.net
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh