tcpdump命令参数
-i:抓取指定网卡的数据包
-nn:域名转换成IP地址、端口显示
-tttt:打印完整的时间格式
-vvv:打印更加详细的数据包信息
-w:不打印输出,而是将原始数据包存入文件
-c:抓取指定数量的数据包
-s:抓取完整的数据包
-Q:抓取指定方向的数据包
-q:打印简洁输出信息
-A:以ASCII格式打印数据包信息
-X:同时以十六进制和ASCII两种格式打印数据包信息
-e:打印数据链路层的头部信息
-F:从指定文件读取过滤表达式
tcpdump命令示例
抓取包含某宝网站http协议数据包
tcpdump -i eth0 tcp and host www.taobao.com and port 80 -s0 -nn -tttt -vvv -X
将原始数据包存入文件中
tcpdump -i eth0 tcp and host www.taobao.com and port 80 -s0 -nn -w taobao.pcap
抓取包含tcp协议80或443端口的数据包
tcpdump -i eth0 "tcp and (port 80 or 443)"
抓取包含tcp协议80-8080端口的数据包
tcpdump -i eth0 tcp portrange 80-8080
抓取不包含tcp协议80端口的数据包
tcpdump -i eth0 not tcp port 80
抓取包含icmp协议的数据包
tcpdump -i eth0 icmp
抓取包含tcp协议的80端口或目的ip是223.5.5.5且是udp协议53端口的数据包
tcpdump -i eth0 "tcp port 80 or (dst host 223.5.5.5 and udp port 53)"
抓取包含192.168.3.0/24网段的数据包
tcpdump -i eth0 net 192.168.3.0/24
还有更高级的过滤表达式,我也不怎么用,这里不做过多介绍。