运维必备,Linux服务器抓包工具 tcpdump 示例详解

运维必备,Linux服务器抓包工具 tcpdump 示例详解插图亿华云

您是否正在尝试捕获数据包以分析网络上的流量?也许您是一名服务器管理员,遇到了问题并想要监控网络上传输的数据。无论情况如何,tcpdump Linux 实用程序都是您所需要的。

在本文中,我们将详细讨论 tcpdump 命令,以及一些有关如何在 Linux 系统上安装和使用 tcpdump 的指南。

什么是 tcpdump 命令?

Tcpdump 是一个强大的网络监控工具,它允许用户有效地过滤网络上的数据包和流量。您可以获得有关 TCP/IP 和网络上传输的数据包的详细信息。Tcpdump 是一个命令行实用程序,这意味着您可以在没有显示的 Linux 服务器上运行它。

系统管理员还可以将 tcpdump 实用程序与cron集成,以便自动执行各种任务,例如日志记录。由于其众多功能使其非常通用,因此 tcpdump 既可以用作故障排除工具,也可以用作安全工具。

如何在 Linux 上安装 tcpdump

虽然大多数时候您会发现 tcpdump 预装在您的系统上,但某些 Linux 发行版并未随附该软件包。因此,您可能必须在系统上手动安装该实用程序。

您可以使用which命令检查系统上是否安装了 tcpdump 。

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]

└─$ which tcpdump

运维必备,Linux服务器抓包工具 tcpdump 示例详解插图1亿华云

如果输出显示目录路径 ( /usr/bin/tcpdump ),则您的系统已安装该软件包。但是,如果没有,您可以使用系统上的默认包管理器轻松完成。

要在基于 Debian 的发行版(例如 Ubuntu)上安装 tcpdump:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]

└─$ sudo apt-get install tcpdump

运维必备,Linux服务器抓包工具 tcpdump 示例详解插图2亿华云

在基于 Arch 的系统上,运行:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]

└─$ sudo pacman -S tcpdump

要在 Fedora、CentOS 和 RHEL 上安装 tcpdump 实用程序,请发出以下命令:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]

└─$ sudo dnf install tcpdump

请注意,tcpdump 包需要libcap作为依赖项,因此请确保您也将其安装在系统上。

在 Linux 上捕获网络数据包的 Tcpdump 示例

现在您已经在 Linux 机器上成功安装了 tcpdump,是时候监控一些数据包了。由于 tcpdump 需要超级用户权限才能执行大多数操作,因此您必须将sudo添加到您的命令中。

1.列出所有网络接口

要检查哪些网络接口可用于捕获,请在 tcpdump 命令中使用-D标志。

tcpdump -D

将--list-interfaces标志作为参数传递将返回相同的输出。

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]

└─$ sudo tcpdump --list-interfaces

输出将是系统上存在的所有网络接口的列表。

获得网络接口列表后,是时候通过捕获系统上的数据包来监控网络了。尽管您可以指定要使用的接口,但any参数命令 tcpdump 使用任何活动接口捕获网络数据包。

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]

└─$ sudo tcpdump --interface any

系统将显示以下输出。

运维必备,Linux服务器抓包工具 tcpdump 示例详解插图3亿华云

2. tcpdump 输出格式

从第三行开始,输出的每一行表示 tcpdump 捕获的特定数据包。这是单个数据包的输出的样子。

16:23:44.545056 eth0

THE END
Copyright © 2024 亿华云