[调试工具]如何使用tcpdump抓包

如何使用tcpdump抓包

打开一个终端,输入以下命令来安装tcpdump(如果您已经安装了tcpdump,请跳过这一步):
sudo apt install tcpdump
输入以下命令来查看您的网络接口的名称:
ip link show
选择一个网络接口,输入以下命令来开始抓包:
sudo tcpdump -i [interface]
其中[interface]是您选择的网络接口的名称,例如eth0。

您可以使用一些选项来过滤或控制抓包的行为,例如:

-c [number]:指定抓取多少个数据包后停止。
-w [file]:将抓取的数据包保存到一个文件中。
-r [file]:从一个文件中读取数据包并显示。
host [ip address]:只抓取与指定IP地址相关的数据包。
port [port number]:只抓取与指定端口相关的数据包。
tcp/udp/icmp:只抓取指定协议的数据包。
and/or/not:组合多个过滤条件。
例如,如果您想要抓取与192.168.1.100主机相关的TCP协议的前10个数据包,并将它们保存到一个文件中,您可以输入以下命令:

sudo tcpdump -i eth0 -c 10 -w tcp.pcap host 192.168.1.100 and tcp
您可以使用Ctrl+C键来停止抓包,并查看统计信息。
这样就实现了使用tcpdump抓包的功能。您可以在终端中查看或分析数据包的内容,也可以使用其他工具如Wireshark来打开和分析保存的文件。😊

一些常用的tcpdump命令和示例

抓取指定接口的所有数据包:
tcpdump -i eth0
抓取指定接口的前10个数据包并退出:
tcpdump -i eth0 -c 10
显示可用的网络接口:
tcpdump -D
以ASCII格式打印数据包内容:
tcpdump -i eth0 -A
将抓取的数据包保存到一个文件中:
tcpdump -i eth0 -w tcpdump.txt
从一个文件中读取并分析数据包:
tcpdump -r tcpdump.txt
不解析主机名或端口名:
tcpdump -n -i eth0
只抓取HTTP协议的数据包:
tcpdump -i eth0 tcp port 80
只抓取ICMP协议的数据包:
tcpdump -i eth0 icmp
只抓取IPv6协议的数据包:
tcpdump -i eth0 ip6

posted @ 2023-03-08 23:44  dysonnnn  阅读(374)  评论(0编辑  收藏  举报