名称 (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 或 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)
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
- 用来 选择 要 转储 的 数据报. 假如 没有 指定 expression , 就 转储 网络的 全部 报文. 否则, 只转储 相对 expression 为 `true' 的 数据报.




