tcpdump抓包命令详细
时间: 2023-10-27 15:52:26 浏览: 112
说明
tcpdump是一个网络抓包工具,可以用来捕捉网络数据包并进行分析。它可以在Unix/Linux系统下运行,并支持多种协议和过滤规则。
语法
tcpdump [options] [expression]
选项
- -i:指定要监听的网络接口,如-i eth0;
- -n:以数字形式显示IP地址和端口号,而不是解析为主机名和服务名;
- -X:以十六进制和ASCII码形式显示数据包内容;
- -v:显示更详细的信息;
- -c:指定抓取的数据包数量;
- -s:指定抓取的数据包长度,单位为字节;
- -w:将抓取的数据包保存到文件中,如-w capture.pcap;
- -r:读取保存的数据包文件进行分析,如-r capture.pcap;
- -A:以ASCII码形式显示数据包内容;
- -F:从指定的文件中读取过滤规则,如-F filter.txt。
表达式
tcpdump支持使用表达式来过滤抓取的数据包,常用的表达式如下:
- host:指定要抓取的主机IP地址;
- port:指定要抓取的端口号;
- src:指定源IP地址;
- dst:指定目标IP地址;
- tcp:指定TCP协议;
- udp:指定UDP协议;
- icmp:指定ICMP协议;
- and:同时满足两个条件;
- or:满足其中一个条件;
- not:不满足条件。
示例
1. 监听网络接口eth0,并显示所有数据包:
tcpdump -i eth0
2. 监听网络接口eth0,并保存前10个数据包到文件capture.pcap:
tcpdump -i eth0 -c 10 -w capture.pcap
3. 读取文件capture.pcap,并显示所有数据包:
tcpdump -r capture.pcap
4. 监听网络接口eth0,抓取源IP地址为192.168.1.100的所有数据包:
tcpdump -i eth0 src 192.168.1.100
5. 监听网络接口eth0,抓取目标端口号为80的所有数据包:
tcpdump -i eth0 port 80
6. 监听网络接口eth0,抓取源IP地址为192.168.1.100和目标端口号为80的所有数据包:
tcpdump -i eth0 src 192.168.1.100 and port 80
7. 监听网络接口eth0,抓取不是源IP地址为192.168.1.100和目标端口号为80的所有数据包:
tcpdump -i eth0 not src 192.168.1.100 and not port 80
8. 监听网络接口eth0,以十六进制和ASCII码形式显示所有数据包:
tcpdump -i eth0 -X
9. 监听网络接口eth0,以ASCII码形式显示所有数据包:
tcpdump -i eth0 -A
10. 监听网络接口eth0,从文件filter.txt中读取过滤规则,并显示符合条件的所有数据包:
tcpdump -i eth0 -F filter.txt
阅读全文