tcpdump

来自百合仙子's Wiki
跳转到导航 跳转到搜索

使用

-w指定保存到文件(可用 Wireshark 打开),-s指定抓取包的长度(默认很小),-vv指明详细信息,最后是筛选表达式。

sudo tcpdump -s 0 -vv -w antitelecom 'src host 58.53.192.203 and src port 3437'

只抓 TCP SYN 包:

tcpdump -nn -i eth0 -vv 'tcp[tcpflags] & tcp-syn != 0'

只抓 TLS Client Hello:

tcpdump -vv -i wlan0 -s0 -w tls.pcap '(tcp[tcp[12]/4]=22) and (tcp[tcp[12]/4+1]=3) and (tcp[tcp[12]/4+5]=1) and (tcp[tcp[12]/4+9]=3)'

另一个只抓 TLS Client Hello:[1]

tcpdump -s0 "tcp port 443 and (tcp[((tcp[12] & 0xf0) >>2)] = 0x16) && (tcp[((tcp[12] & 0xf0) >>2)+5] = 0x01)" -w client-hello.pcap

参数

-C
指定保存的 pcap 文件的最大大小(单位 1,000,000 字节),超过则使用新文件[2]
-W
指定保留的 pcap 文件数(与-C配合使用)
-r
从指定的文件读取数据。可以用来对 pcap 文件做分隔和过滤。
-nn
不解析IP地址和端口号为名字

参见

外部链接

参考资料