一、常用参数说明
-c:抓包次数,达到自定次数后停止抓包
-C:文件大小,写入文件前判断文件是否超过了设置大小,超过则关闭当前文件,开启新文件
-i:指定监听的网络接口
-nn:不进行端口名称的转换
-r:从指定文件中读取包
-s:设置每个数据包的大小
-t:在输出的每一行不打印时间戳
-vv:输出详细的报文信息
-w:将抓包的结果输出到指定文件
二、支持的过滤方式
| 过滤项 | 过滤项说明 | 示例 |
|---|---|---|
| host、src host、dst host | 过滤主机 | tcpdump host 192.168.1.1 |
| port、src port、dst port | 过滤端口 | tcpdump port 443 |
| ip、ip6、arp、tcp、udp、icmp | 过滤协议 | tcpdump udp 192.168.1.1 |
| and、or、not | 逻辑表达式 | tcpdump host 192.168.1.1 and port 443 |
三、示例
- 从所有网卡抓取数据包
tcpdump -i any - 从指定网卡抓取数据包
tcpdump -i eth0 - 抓取包含指定IP的数据包
tcpdump host 192.168.1.1 - 获取指定网卡和地址的数据包,并写入文件
tcpdump -i eth0 host 192.168.1.1 -w capture.cap - 指定网卡、源IP、目的IP并写入文件
tcpdump -eth0 src host 192.168.1.1 and dst host 192.158.1.2 -w capture.cap - 指定网卡、源IP或目的IP并写入文件
tcpdump -i eth0 src host 192.168.1.1 or dst host 192.168.1.2 -w capture.cap - 指定网卡、tcp端口、源IP、目的IP
tcpdump -i eth0 port 443 and src host 192.168.1.1 and dst host 192.168.1.2 - 显示详细的抓包信息
tcpdump -vv - 抓取UDP包
tcpdump -i eth0 udp port 443