tcpdump
跳转到导航
跳转到搜索
使用
-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地址和端口号为名字