tcpdump主要选项
类型
host, net, port
方向
src, dst, src or dst, src and dst
协议
ip, tcp, udp, arp, rarp, ether, fddi
逻辑
and, or, not 或者 &&, ||, !
选项
-i指定网卡, -n显示ip, -A文本显示
-c抓包数, -x/-xx/-X/-XX二进制显示, -r读, -w写
监听来自192.168.1.10 或 192.168.1.11的80端口:
tcpdump port 80 and \(src 192.168.1.10 or src 192.168.1.11\)
注:括号需要转义
选项
-i:指定网卡。
-n:显示ip,而不是主机名。
-c:指定抓多少个包后退出。
-A:以ASCII方式显示包内容,这个选项对文本格式的协议包非常有用。
-s:指定抓包显示一行的宽度,-s0表示显示完整的包,经常和-A一起用。
-x/-xx/-X/-XX:以十六进制显示包内容,几个选项只有细微的差别,详见man手册。
-vv:详细信息。
-r:从文件中读取。
-w:导出到指定文件。
监听来自172.25.38.145到端口7012的数据,并到处到指定文件:
tcpdump tcp dst port 7012 and src host 172.25.38.145 -vv –w output.dat
从指定文件加载监听数据:
tcpdump -r output.dat
监听网卡eth1端口7012的数据:
tcpdump tcp port 7012 -ieth1 –n
每一行中间都有这个包所携带的标志:
S=SYN,发起连接标志。
P=PUSH,传送数据标志。
F=FIN,关闭连接标志。
ack 表示确认包。
RST=RESET,异常关闭连接。
. 表示没有任何标志。
抓192.168.1.123的80端口和110和25以外的其他端口的包
tcpdump -i eth1 host 192.168.1.123 and ! port 80 and ! port 25 and ! port 110 -w /tmp/xxx.cap
抓vlan 1的包
tcpdump -i eth1 port 80 and vlan 1 -w /tmp/xxx.cap
抓pppoe的密码
tcpdump -i eth1 pppoes -w /tmp/xxx.cap
以100m大小分割保存文件, 超过100m另开一个文件 -C 100m
抓10000个包后退出 -c 10000
后台抓包, 控制台退出也不会影响:
nohup tcpdump -i eth1 port 110 -w /tmp/xxx.cap &
抓下来的文件可以直接用ethereal 或者wireshark打开。