文档介绍:TCPDUMP中文手册
TCPDUMP
Section: mands (8)
Updated: 30 June 1997
-------------------------------------------------------
名称(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'', 而不是``''.
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 设的尽量小, 只要能够容纳你需要的协议信息就可以了.