tcpdump常用参数
1.tcpdump常用参数说明
| 参数 | 含义 | 举例 |
|---|---|---|
-i <interface> |
指定抓包网卡 | tcpdump -i eth0 |
-n |
不解析域名(避免DNS查询影响) | tcpdump -i eth0 -n |
-nn |
不解析端口号和主机名 | tcpdump -i eth0 -nn |
-v/-vv/-vvv |
增加输出详细程度 | tcpdump -i eth0 -nn -vv |
-c <count> |
抓包数量到达指定值后退出 | tcpdump -i eth0 -nn -c 100 |
-s <snaplen> |
抓包长度(默认为262144) | tcpdump -i eth0 -s 0 (抓完整包) |
-w <file> |
把抓到的数据包写入文件 | tcpdump -i eth0 -w dump.pcap |
-r <file> |
读取抓包文件分析 | tcpdump -r dump.pcap |
port <port> |
抓指定端口流量 | tcpdump -i eth0 port 80 |
host <ip> |
抓指定IP流量 | tcpdump -i eth0 host 192.168.1.10 |
src <ip> / dst <ip> |
抓源/目的IP流量 | tcpdump -i eth0 src 192.168.1.10 |
tcp / udp / icmp |
协议过滤 | tcpdump -i eth0 tcp |
and / or / not |
逻辑组合 | tcpdump -i eth0 tcp and port 80 |
2.过滤表达式示例
- 抓 HTTP 流量(80端口):
1 | tcpdump -i eth0 -nn tcp port 80 |
- 抓指定源 IP 流量:
1 | tcpdump -i eth0 -nn src 192.168.1.10 |
- 抓指定目的 IP 且是 TCP 流量:
1 | tcpdump -i eth0 -nn dst 10.0.0.5 and tcp |
- 抓 ICMP(ping)包:
1 | tcpdump -i eth0 -nn icmp |
- 抓 HTTP + HTTPS 流量(80 和 443 端口):
1 | tcpdump -i eth0 -nn tcp port 80 or tcp port 443 |
- 抓完整包并写入文件:
1 | tcpdump -i eth0 -nn -s 0 -w /tmp/capture.pcap |
- 从文件读取并分析:
1 | tcpdump -r /tmp/capture.pcap -nn -vv |
3.进阶用法
- 抓前后N行数据包:
1 | tcpdump -i eth0 -nn -c 100 -A # -A 打印 ASCII 数据,方便看HTTP内容 |
- 抓 SYN 包(TCP三次握手开始):
1 | tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0' |
- 抓带时间戳的数据包:
1 | tcpdump -i eth0 -tttt |