如何在 Ubuntu 20.04 中使用 tcpdump 命令

[ad_1]

介绍

tcpdump 是一个非常有用的命令,用于检查和捕获进出机器的网络数据包。 它是解决网络问题和安全问题的最常见的网络实用程序之一。

虽然它的名字是 tcpdump,但它可以用来检查非 TCP 流量,包括 UDP、ARP 或 ICMP。

本教程将向您展示在 Linux 系统中使用 tcpdump 命令的方法。

安装 tcpdump

默认情况下,大多数 Linux 发行版都安装了 tcpdump。 要验证是否安装了 tcpdump,请运行以下命令:

$ tcpdump --version

输出:

如果还没有安装,让我们运行:

$ sudo apt update
$ sudo apt install tcpdump

在网络接口上捕获数据包

当您不带任何选项运行 tcpdump 时,它将捕获计算机上所有网络接口上的所有数据包。

$ sudo tcpdump

您必须按 Ctrl + C 才能停止。

要列出可以通过 tcpdump 命令检查其数据包的所有网络接口,请运行:

$ sudo tcpdump -D

输出:

如果要捕获特定网络接口上的数据包并将数据包限制为 6,请运行以下命令:

$ sudo tcpdump -i eth0 -c 6

输出:

在特定主机上捕获网络数据包

捕获来自特定主机的数据包。 您可以简单地运行以下命令:

$ sudo tcpdump -n host 172.19.11.101 -c 5

捕获特定端口上的网络数据包

如果您只想过滤特定端口上的网络数据包,让我们运行带有 -n 端口选项的 tcpdump 命令。

$ sudo tcpdump -n port 22

从源和目标捕获网络数据包

如果您只想过滤来自特定来源的网络数据包,让我们运行带有 src 选项的 tcpdump 命令。

$ sudo tcpdump src 172.19.11.210

为了仅捕获到特定目的地的网络数据包,请运行带有 dst 选项的 tcpdump 命令。

$ sudo tcpdump dst 172.19.11.210

使用许多组合过滤器捕获网络数据包

为了在运行 tcpdump 命令时组合多个过滤器,您可以使用这些运算符:and (&&),或 (||),而不是 (!)。 例如,以下命令将捕获来自源 172.19.11.210 通过端口 22 的所有数据包。

$ sudo tcpdump src 172.19.11.210 && -n port 22 -c 5

按协议过滤网络

要捕获特定协议的网络数据包,让我们将协议名称指定为命令选项。 例如:

$ sudo tcpdump -n udp

结论

您已经详细了解了如何使用 tcpdump 命令对 Linux 系统上的网络进行故障排除和分析。

如果您有任何疑虑,请告诉我。 感谢您的阅读。

[ad_2]

Related Posts