Tcpdump 和 wireshark一起使用,抓包分析.

在 Mac OSX 上terminal中安装wireshark前需要先装XQuartz。


使用如下命令:

tcpdump tcp -i eth0 -nn -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型

(2)-i eth0 : 只抓经过接口eth1的包

(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.4/24
(8)-w ./target.cap : 保存成cap文件,方便用wireshark分析


举例:tcpdump -e arp 可用于监听广播风暴


对于带tagged的报文,要格外小心。


抓取tag 100的报文:

tcpdump tcp -nn -d "udp and vlan 100"


抓取untagged和tagged的UDP报文:

tcpdump tcp -nn -d "udp or (vlan and udp)"