常用tcpdump案例
- 指定接口抓包
-i
tcpdump -i eth1
- 只抓取N个数量包
-c
tcpdump -c 2 -i eth0
- 显示捕捉的数据包ASCII码
-A
tcpdump -A -i eth0
- 显示捕捉的数据包HEX和ASCII码
-XX
tcpdump -XX -i eth0
- 将捕捉到的数据包写入文件
-w
tcpdump -w 0823010.pcap -i eth0
- 从已经保存的文件中读取数据包
-r
tcpdump -tttt -r data.pcap
- 捕捉数据包显示IP地址
-n
tcpdump -n -i eth0
默认捕捉数据包时候显示DNS地址,如果要显示IP则使用
-n
参数建议使用
-n
参数,因为默认捕捉数据包时候使用DNS解析会导致捕捉数据包效率降低,并导致drop数据包。
- 捕捉数据包时显示可阅读的时间戳
-tttt
tcpdump -n -tttt -i eth0
-tttt
似乎只是添加了日期时间,作用不大
- 只捕捉大于N字节的数据包
greater N
tcpdump -w g_1024.pcap greater 1024
- 只捕捉特定协议的数据包
协议
tcpdump -i eth0 arp
- 读取小于N字节的数据包
less N
tcpdump -w l_1024.pcap less 1024
- 使用特定端口捕捉数据包
port N
tcpdump -i eth0 port 22
- 结合IP地址和端口捕捉数据包
tcpdump -w xpackets.pcap -i eth0 dst 10.181.140.216 and port 22
- 捕捉两个主机间数据包
tcpdump -w comm.pcap -i eth0 host 10.181.140.216 and port 22
- 捕捉过滤特定协议 - 例如,捕捉非
arp
和rarp
协议数据包
tcpdump -i eth0 not arp and not rarp