1
| tcpdump -i eth0 -v -nn -X -v 'port 80' -c 5 -w cap.tcpdump
|
选项
- i, interface 指定监听哪个网卡
- nn, 如遇到21这类的端口号,显示21而不是 ftp
- X, 显示16进制和 ASCII码
- ‘port 53’ 过滤端口
- c : count 包个数
- v : verbose
- F : filter by file; tcpdump -i eth0 -v -nn -X -v -c 5 -F filter.txt
- w : dump to file
- r : tcpdump -r cap.tcpdump
- s : size,包的大小,默认65535,可以调大
过滤
按照协议过滤
1
| tcpdump -i eth0 -c 10 'udp' ## 只要 udp
|
协议: ether, ip, ip6, arp, tcp, rarp …
按照 host 和 端口
1 2
| tcpdump -i eth0 -c 10 'host 203.213.108.26' tcpdump -i eth0 -c 10 'dst 203.213.108.26'
|
1 2
| tcpdump -i eth0 -c 3 'dst port 53 or dst port 80' tcpdump -i eth0 -c 3 'dst 203.213.108.26 and port 22'
|
高阶过滤的方式
1 2 3 4 5
| ## 支持协议头 可读变量 tcpdump -i eth0 -nn ' tcp[tcpflags] & tcp-syn != 0 and host 223.212.118.26 and port 80'
## 支持 proto[expr:size]格式 从某个协议的 第多少位 提取多少字节内容 tcpdump 'ip[2:2] > 567' # ip包长度大于567的 网络包
|
参考资料: man pcap-filter