Tcpdump,从终端了解网络接口的流量

关于tcpdump

在下一篇文章中,我们将看一下tcpdump。 该工具将使我们 查看有关进入和离开网络接口的流量的信息 决定。 它是一种诊断工具,可让我们查看软件包的信息。 此信息将是传入数据包的来源和传出数据包的去向,并提供一些其他信息。 我们甚至可以将结果保存到文件中以供日后查看。

这个计划 适用于大多数UNIX操作系统:Gnu / Linux,Solaris,BSD,Mac OS X,HP-UX和AIX等。 在那些系统上,tcpdump使用libpcap库捕获在网络上流通的数据包。 对于Microsoft Windows系统,还有一个称为WinDump的改编版,它利用了Winpcap库。

在UNIX和其他操作系统上,必须具有 使用tcpdump的管理员(root)特权。 用户可以应用各种过滤器,以使输出更加精确。 过滤器是一个位于选项后面的表达式,它使我们可以选择要查找的软件包。 在没有过滤器的情况下,tcpdump将转储通过选定网络适配器的所有流量。

Tcpdump的默认行为

执行 de 不带参数的tcpdump将查找第一个活动接口 它将查找并显示有关进入或离开网络设备的数据包的信息。 直到过程被中断为止(按Ctrl + C)或被取消。 要使用它,我们只需要在终端中编写(Ctrl + Alt + T):

默认情况下是tcpdump

sudo tcpdump

一旦命令结束,输出将显示捕获了多少个数据包,实际接收了多少个数据包以及还剩下多少个内核。

tcpdump最终结果数据包

参数显示

我们将能够 选择其他界面 查看交通信息。 为了找出tcpdump将在哪个接口上运行,我们将使用 参数“ -D” 这将显示设备列表 可以用作参数。

sudo tcpdump -D

现在我们有了可用接口的列表,我们将能够指定要使用的接口。

tcpdump接口选择

sudo tcpdump -i enp0s3

限制要捕获的数据包数量

如果我们想将输出限制为仅一定数量的数据包,我们将使用 '-c'参数指定我们要捕获和显示多少个数据包 我完成之前的信息。 示例如下:

tcpdump限制数据包

sudo tcpdump -c 20

使用tcpdump详细查看信息

它可以 使用'-v'参数显示更多详细信息。 此信息包括寿命(TTL),数据包长度,协议以及其他对诊断有用的信息。 为了增加每个包装的产量, 我们将使用参数“ -vv”或“ -vvv”。 一些例子是:

sudo tcpdump -vv

sudo tcpdump -vvv

保存和读取文件

Tcpdump可以 将结果保存到文件中以供以后查看 通过工具。 为此,我们将使用 参数“ -w” 以及要写入的文件名。 我们必须记住 创建的文件只能由tcpdump读取。 创建的文件不是纯文本格式。

要将工具的输出写入文件中,我们将需要为其指定任意名称。 示例如下:

sudo tcpdump -w paquetes.dump

要稍后读取此文件,我们将使用'-r'参数 如下所示:

tcpdump文件创建

sudo tcpdump -r paquetes.dump

简单的tcpdump过滤器

过滤器可用于捕获与某些主机和/或端口之间的数据包,以及使用特定协议(例如,TCP或UDP)。 还有其他更高级的过滤器,但是下面我们只会看到一些简单的示例:

仅捕获TCP数据包

sudo tcpdump 'tcp'

仅UDP数据包

sudo tcpdump 'udp'

捕获HTTP数据包(通常使用端口80)

sudo tcpdump 'tcp port 80'

捕获进出特定主机的数据包

sudo tcpdump 'host ubunlog.com'

捕获往返于特定主机的HTTP数据包

sudo tcpdump 'tcp port 80 and host ubunlog.com'

毕竟,我认为已经证明 tcpdump是一个非常简单且有用的诊断工具 使用,显示和保存与网络接口有关的数据包信息。 但是,在播放tcpdump时,我们会发现本文未显示的其他功能。 我们还将有可能咨询 文档页面 该工具使我们能够更详细地了解其可能性。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。