tcpdump note

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

image

image

-->