Tcpdump是Linux 下功能强大的网络抓包工具
如何在Linux中安装tcpdump
Linux 发行版已经预装了 tcpdump 工具,如果您的系统没有安装它,可以使用以下任意一条命令进行安装。
1、$ sudo apt install tcpdump [在 Debian, Ubuntu 和 Mint 上]
2、$ sudo yum install tcpdump [在 RHEL/CentOS/Fedora 和 Rocky/AlmaLinux 上]
3、$ sudo emerge -a sys-apps/tcpdump [在 Gentoo Linux 上]
4、$ sudo apk add tcpdump [在 Alpine Linux 上]
5、$ sudo pacman -S tcpdump [在 Arch Linux 上]
6、$ sudo zypper install tcpdump [在 OpenSUSE 上]
1、从特定接口捕获数据包
默认情况下,命令屏幕会不断滚动,直到您中断它。当我们执行 tcpdump 命令时,它会从所有接口捕获数据包,但是通过使用“-i”开关,只能从所需的接口捕获。
# tcpdump -i ens192
2、仅捕获指定数量的数据包
当运行 tcpdump 命令时,它会捕获指定接口的所有数据包,直到您按下取消按钮。但是通过使用“-c”选项,您可以捕获指定数量的数据包。以下示例将仅捕获6个数据包。
# tcpdump -c 5 -i ens192
3、以ASCII格式打印捕获的数据包
以下带有选项“-A”的tcpdump命令以ASCII格式显示数据包。这是一种字符编码格式。
# tcpdump -A -i ens192
4、显示可用的接口
要列出系统上可用的接口数量,请运行以下带有“-D”选项的命令。
# tcpdump -D
5、以十六进制和ASCII格式显示捕获的数据包
以下带有“-XX”选项的命令会捕获每个数据包的数据,包括其链路层头部,以十六进制和ASCII格式显示。
# tcpdump -XX -i ens192
6、捕获并保存数据包到文件中
tcpdump具有将数据包捕获并保存为.pcap格式的功能,要实现这一点,只需执行带有“-w”选项的命令。
# tcpdump -w 0001.pcap -i ens192
7、读取捕获的数据包文件
要读取和分析捕获的数据包0001.pcap文件,请使用带有“-r”选项的命令,如下所示。
# tcpdump -r 0001.pcap
8、捕获IP地址数据包
要捕获特定接口的数据包,请使用带有“-n”选项的以下命令。
# tcpdump -n -i ens192
9. 仅捕获TCP数据包。
要基于TCP端口捕获数据包,请使用带有“tcp”选项的以下命令。
# tcpdump -i ens192 tcp
10、从特定端口捕获数据包
假设您要捕获特定端口443的数据包,请执行以下命令,并指定端口号443,如下所示。
# tcpdump -i ens192 port 443tcpdump -i ens192 port 443
11、从源IP捕获数据包
要捕获源 IP 的数据包,例如,您要捕获IP地址为 11.11.11.11 的数据包,请使用以下命令。
# tcpdump -i ens192 src 11.11.11.11
12、从目标IP捕获数据包
要捕获目标 IP 的数据包,例如,您要捕获 IP 地址为 11.11.11.11 的数据包,请使用以下命令。
# tcpdump -i ens192 dst 11.11.11.11