安装:
$ sudo yum install tcpdump [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]
一旦在系统上安装了tcpdump工具,您可以继续浏览以下命令及其示例。
从特定接口捕获数据包
当我们执行tcpdump命令时,命令屏幕将向上滚动直到您中断。它将从所有接口捕获,但是使用-i切换仅从所需的接口捕获。
# tcpdump -i eth0
tcpdump:抑制详细输出,使用 -v 或 -vv 进行完整协议解码
在 eth0 上监听,链路类型 EN10MB(以太网),捕获大小 65535 字节
仅捕获 N 个数据包
当您运行tcpdump命令时,它将捕获指定接口的所有数据包,直到您点击取消按钮。但使用-c选项,您可以捕获指定数量的数据包。以下示例将仅捕获6 个数据包。
# tcpdump -c 5 -i eth0
tcpdump:抑制详细输出,使用 -v 或 -vv 进行完整协议解码
在 eth0 上监听,链路类型 EN10MB(以太网),捕获大小 65535 字节
以 ASCII 格式打印捕获的数据包
下面的带有选项的tcpdump命令以ASCII-A格式显示数据包。这是一种字符编码方案格式。
# tcpdump -A -i eth0
tcpdump:抑制详细输出,使用 -v 或 -vv 进行完整协议解码
在 eth0 上监听,链路类型 EN10MB(以太网),捕获大小 65535 字节
显示可用接口
要列出系统上可用接口的数量,请运行以下命令并-D附加选项。
# tcpdump -D
1.eth0
2.eth1
3.usbmon1 (USB bus number 1)
4.usbmon2 (USB bus number 2)
5.usbmon3 (USB bus number 3)
6.usbmon4 (USB bus number 4)
7.usbmon5 (USB bus number 5)
8.any (Pseudo-device that captures on all interfaces)
9.lo
以十六进制和 ASCII 格式显示捕获的数据包
以下命令带有选项,-XX捕获每个数据包的数据,包括其十六进制和ASCII格式的链接级头。
# tcpdump -XX -i eth0