Wireshark(前身为 Ethereal)是一款用于网络协议分析器的 FOSS(免费和开源软件)。可以使用它来解决网络问题,分析 TCP、DNS、HTTP 等通信协议。

有许多功能使 Wireshark 与许多同类产品不同:

在本指南中,我们将学习“如何使用 Wireshark 捕获和分析数据包”,我们使用 Kali Linux 作为本指南的基本操作系统,让我们现在开始吧。

使用 Wireshark 抓包

启动 Wireshark 后,您将看到要从中捕获数据包的设备列表。

怎么样使用wireshark捕获本机数据(如何使用Wireshark捕获和分析网络数据包)(1)

通过双击设备名称来选择设备以开始捕获数据包,让我们在本例中选择接口“eth01”,正如您在选择设备后看到的那样,屏幕上开始出现一些数据包。

怎么样使用wireshark捕获本机数据(如何使用Wireshark捕获和分析网络数据包)(2)

在混杂模式下,Wireshark 还会显示发往我们网络接口的数据包以外的数据包,此模式默认启用,否则您可以转到“捕获 > 选项”并标记“在所有接口上启用混杂模式” 复选框(在窗口底部)。

怎么样使用wireshark捕获本机数据(如何使用Wireshark捕获和分析网络数据包)(3)

要停止捕获流量,请点击窗口左上角的红色方形图标。如果您想稍后检查您的捕获,您可以通过单击“文件 > 保存”来保存它们,同样,您可以下载捕获文件并通过单击“文件 > 打开”打开它们进行检查。找到您的文件并打开它。

Wireshark 的颜色编码

Wireshark 使用不同的配色方案来表示不同类型的流量,例如,浅蓝色用于 UDP,紫色用于 TCP,黑色用于错误数据包,要查看含义并修改这些颜色,请转到“查看 > 着色规则”。

使用 Wireshark 进行数据包过滤

Wireshark 具有过滤功能,可以过滤掉您感兴趣的特定流量,使用此功能的最简单方法是使用位于数据包列表顶部的搜索栏或描述流量摘要的表格,如下所示。例如,如果您想过滤“TCP”流量,请在搜索栏中输入 TCP,我们将在本教程后面看到这个过程。

Wireshark 还在“分析 > 显示过滤器”部分中包含默认过滤器,您可以从此处选择一个,也可以在此处保存您的自定义过滤器以供将来使用。

怎么样使用wireshark捕获本机数据(如何使用Wireshark捕获和分析网络数据包)(4)

除了过滤流量,您还可以查看客户端和服务器之间的完整 TCP 对话。为此,右键单击一个数据包并点击“Follow > TCP Stream”选项,当您关闭此窗口时,过滤器搜索栏中将自动出现一个过滤器。

使用 Wireshark 进行数据包检查

在描述流量摘要的表中,单击数据包以查看其各种详细信息,这是创建自定义过滤器的另一种方法。当您右键单击任何详细信息时,您将看到“应用为过滤器”选项及其子菜单。选择任何子菜单以创建该过滤器:

怎么样使用wireshark捕获本机数据(如何使用Wireshark捕获和分析网络数据包)(5)

Wireshark 试用

现在让我们举一个实际示例,使用 Wireshark 捕获和检查网络接口上的流量。在我们的例子中,我们在 Kali Linux 上安装了 Wireshark,并与以太网接口“eth0”进行交互。现在执行以下步骤:

  1. 启动Wireshark后,从开始页面的设备列表中选择接口,单击左上角的蓝色图标或双击接口名称开始捕获。
  2. 现在启动网络浏览器并打开一个网页,如“ www.howtoforge.com ”。加载页面后,按开始按钮附近的红色图标停止捕获。
  3. 捕获窗口现在包含从您的系统传输到您的系统的所有数据包,不同类型的交通以不同的颜色代码显示,如蓝色、黑色、浅黄色等。

怎么样使用wireshark捕获本机数据(如何使用Wireshark捕获和分析网络数据包)(6)

  1. 如果您正在寻找特定协议(如 TCP)的数据包,请使用过滤栏过滤这些连接。在使用网络访问并因此与外部网络交换数据包的系统上运行着许多后台进程,我们可以使用 Wireshark 的过滤功能过滤发往我们系统的数据包。例如,要过滤发往我们系统的 TCP 数据包,请使用过滤器:

ip.dst == 'your_system_ip' && tcp

怎么样使用wireshark捕获本机数据(如何使用Wireshark捕获和分析网络数据包)(7)

将标签“your_system_ip”替换为您的系统 IP,在我们的例子中,它是 192.168.18.161,现在让我们查看这些数据包的内容,右键单击任何数据包,然后从选项列表中转到:'Follow -> Follow TCP Stream'。新窗口应类似于下图所示的窗口:

怎么样使用wireshark捕获本机数据(如何使用Wireshark捕获和分析网络数据包)(8)

如果您无法使用 Wireshark 进行实时网络连接,您也可以使用下载的数据包跟踪文件。

结论

Wireshark 是一个非常重要的工具,用于分析网络中正在发生的事情,它得到了政府机构、商业组织和教育机构等各种IT部门的广泛认可,在解决网络问题时,数据包检查是非常关键的一步,而 Wireshark 在这里起着至关重要的作用,它已成为分析网络流量的行业标准。

,