Tcpdump 命令实际示例,Linux 下功能最强大的网络抓包工具
在我们之前的文章中,我们已经介绍了如何使用 Netdata 监控 Ubuntu 性能 (现在由ss命令替代)用于监视或管理 Linux 网络。
这是另一个持续进行的数据包嗅探工具系列,名为 tcpdump。在这里,我们将展示如何安装 tcpdump,然后讨论并介绍一些有用的命令以及它们的实际示例。
Linux tcpdump 命令示例
tcpdump 是一个功能最强大且广泛使用的命令行数据包嗅探或数据包分析工具,用于捕获或过滤在特定接口上接收或传输的 TCP/IP 数据包。
Tcpdump 在许多 Linux/Unix 操作系统中都是现成的。此外,它提供了一个宝贵的选项,可以将捕获的数据包保存到文件中以供将来分析。
它将文件保存为 pcap 格式,可以通过 tcpdump 命令或名为 Wireshark(网络协议分析器)的开源基于GUI的工具查看 tcpdump pcap 格式文件。
相关:Wireshark 4.0 发布,最受欢迎的网络协议分析器 https://www.linuxmi.com/wireshark-4-0.html
如何在Linux中安装tcpdump
许多 Linux 发行版已经预装了 tcpdump 工具,如果您的系统没有安装它,可以使用以下任意一条命令进行安装。
$ sudo apt install tcpdump [在 Debian, Ubuntu 和 Mint 上]
$ sudo yum install tcpdump [在 RHEL/CentOS/Fedora 和 Rocky/AlmaLinux 上]
$ sudo emerge -a sys-apps/tcpdump [在 Gentoo Linux 上]
$ sudo apk add tcpdump [在 Alpine Linux 上]
$ sudo pacman -S tcpdump [在 Arch Linux 上]
$ sudo zypper install tcpdump [在 OpenSUSE 上]
开始使用 tcpdump 命令示例
一旦在您的系统上安装了 tcpdump 工具,您可以继续查看以下带有示例的命令。
1、从特定接口捕获数据包
默认情况下,命令屏幕会不断滚动,直到您中断它。当我们执行 tcpdump 命令时,它会从所有接口捕获数据包,但是通过使用“-i”开关,只能从所需的接口捕获。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33
2、仅捕获指定数量的数据包
当运行 tcpdump 命令时,它会捕获指定接口的所有数据包,直到您按下取消按钮。但是通过使用“-c”选项,您可以捕获指定数量的数据包。以下示例将仅捕获6个数据包。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -c 5 -i ens33
3、以ASCII格式打印捕获的数据包
以下带有选项“-A”的tcpdump命令以ASCII格式显示数据包。这是一种字符编码格式。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -A -i ens33
4、显示可用的接口
要列出系统上可用的接口数量,请运行以下带有“-D”选项的命令。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -D
5、以十六进制和ASCII格式显示捕获的数据包
以下带有“-XX”选项的命令会捕获每个数据包的数据,包括其链路层头部,以十六进制和ASCII格式显示。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -XX -i ens33
6、捕获并保存数据包到文件中
正如前面所说,tcpdump具有将数据包捕获并保存为.pcap格式的功能,要实现这一点,只需执行带有“-w”选项的命令。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -w 0001.pcap -i ens33
7、读取捕获的数据包文件
要读取和分析捕获的数据包0001.pcap文件,请使用带有“-r”选项的命令,如下所示。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -r 0001.pcap
8、捕获IP地址数据包
要捕获特定接口的数据包,请使用带有“-n”选项的以下命令。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -n -i ens33
9. 仅捕获TCP数据包。
要基于TCP端口捕获数据包,请使用带有“tcp”选项的以下命令。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33 tcp
10、从特定端口捕获数据包
假设您要捕获特定端口443的数据包,请执行以下命令,并指定端口号443,如下所示。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33 port 443tcpdump -i ens33 port 443
11、从源IP捕获数据包
要捕获源 IP 的数据包,例如,您要捕获IP地址为 192.168.174.132 的数据包,请使用以下命令。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33 src 192.168.174.132
12、从目标IP捕获数据包
要捕获目标 IP 的数据包,例如,您要捕获 IP 地址为 192.168.174.132 的数据包,请使用以下命令。
root@linuxmi:/home/linuxmi/www.linuxmi.com# tcpdump -i ens33 dst 192.168.174.132
本文可能帮助您深入了解 tcpdump 命令,并在将来捕获和分析数据包时使用。有许多可用的选项,您可以根据需要使用这些选项。如果您觉得本文有用,请分享至朋友圈,如果还有什么疑问与建议,请在下面的评论部分给我们留言。
The post Tcpdump 命令实际示例,Linux 下功能最强大的网络抓包工具 first appeared on Linux迷.
共有 0 条评论