如何使用Wireshark:完整教程

Wireshark是一个免费的应用程序,允许您捕获和查看网络中来回传输的数据,提供深入挖掘和读取每个数据包内容的功能 - 根据您的特定需求进行过滤。 它通常用于解决网络问题以及开发和测试软件。 这种开源协议分析仪被广泛接受为行业标准,多年来赢得了公平的奖励份额。

Wireshark最初被称为Ethereal,它具有用户友好的界面,可以显示来自所有主要网络类型上数百种不同协议的数据。 这些数据包可以实时查看或离线分析,支持数十种捕获/跟踪文件格式,包括CAPERF 。 集成的解密工具允许您查看几种流行协议(如WEPWPA / WPA2)的加密数据包。

07年1月

下载并安装Wireshark

Getty Images(Yuri_Arcurs#507065943)

Wireshark可以从Wireshark基金会网站免费下载,用于macOS和Windows操作系统。 除非您是高级用户,否则建议您只下载最新的稳定版本。 在安装过程中(仅限Windows),如果出现提示,您应该选择安装WinPcap,因为它包含实时数据捕获所需的库。

该应用程序也可用于Linux和大多数其他类UNIX平台,包括Red Hat ,Solaris和FreeBSD。 这些操作系统所需的二进制文件可以在第三方软件包部分的下载页面底部找到。

您也可以从此页面下载Wireshark的源代码。

07年2月

如何捕获数据包

Scott Orgera

当您首次启动Wireshark时,应该可以看到类似于上面所示的欢迎屏幕,其中包含当前设备上的可用网络连接列表。 在本例中,您会注意到显示了以下连接类型: 蓝牙网络连接以太网VirtualBox主机专用网络Wi-Fi 。 显示在每个网络右侧的是一个EKG风格线图,表示该网络上的实时流量。

要开始捕获数据包,首先通过单击您的选择并使用ShiftCtrl键选择一个或多个这些网络,如果您想同时记录来自多个网络的数据。 一旦选择连接类型用于捕捉目的,其背景将以蓝色或灰色阴影。 点击位于Wireshark界面顶部的主菜单中的Capture 。 出现下拉菜单时,选择开始选项。

您还可以通过以下某个快捷方式启动数据包捕获。

实时捕获过程现在将开始,数据包详细信息显示在Wireshark窗口中并记录下来。 执行以下操作之一以停止捕获。

03年7月

查看和分析数据包内容

Scott Orgera

现在您已经记录了一些网络数据,现在可以查看捕获的数据包了。 如上图所示,捕获的数据接口包含三个主要部分:数据包列表窗格,数据包详细信息窗格和数据包字节窗格。

数据包列表

位于窗口顶部的数据包列表窗格显示在活动捕获文件中找到的所有数据包。 每个数据包都有自己的行和分配给它的相应编号,以及每个数据点。

在顶部窗格中选择数据包时,您可能会注意到第一列中出现一个或多个符号。 开放和/或关闭的括号以及水平直线可以指示一个数据包或一组数据包是否都是网络上相同的来回对话的一部分。 断开的水平线表示分组不是所述对话的一部分。

数据包细节

详细信息窗格位于中间,以可折叠的格式显示所选数据包的协议和协议字段。 除了扩展每个选择外,还可以根据特定的细节应用单个Wireshark过滤器,并通过详细信息上下文菜单跟踪基于协议类型的数据流 - 通过在此窗格中的所需项目上右键单击鼠标即可访问。

数据包字节

最下面是数据包字节窗格,它以十六进制视图显示所选数据包的原始数据。 该十六进制转储包含16个十六进制字节和16个ASCII字节以及数据偏移量。

选择此数据的特定部分会自动在数据包详细信息窗格中突出显示其相应部分,反之亦然。 任何不能打印的字节都用一个句点表示。

您可以选择以位格式显示此数据,而不是通过右键单击窗格中的任何位置并从上下文菜单中选择适当的选项,而不是使用十六进制。

04年7月

使用Wireshark过滤器

Scott Orgera

Wireshark中最重要的功能之一就是它的过滤功能,特别是当你处理大小很大的文件时。 捕获过滤器可以在事实之前设置,指示Wireshark只记录符合您指定条件的数据包。

过滤器也可以应用于已创建的捕获文件,以便仅显示某些数据包。 这些被称为显示过滤器。

Wireshark默认提供了大量预定义的过滤器,只需几次击键或点击鼠标就可以缩小可见数据包的数量。 要使用这些现有过滤器之一,请将其名称放在应用显示过滤器输入字段(位于Wireshark工具栏正下方)或输入捕获过滤器输入字段(位于欢迎屏幕中央)中。

有多种方法可以实现这一点。 如果您已经知道过滤器的名称,只需将其输入相应的字段。 例如,如果您只想显示TCP数据包,则可以键入tcp 。 Wireshark的自动完成功能将在您开始输入时显示建议的名称,从而更容易找到正在寻找的过滤器的正确名称。

另一种选择过滤器的方法是单击位于输入字段左侧的书签状图标。 这将显示一个菜单,其中包含一些最常用的过滤器以及管理捕获过滤器管理显示过滤器的选项。 如果您选择管理任一类型,则会出现一个界面,允许您添加,删除或编辑过滤器。

您也可以通过选择位于输入字段右侧的向下箭头来访问以前使用的过滤器,该向下箭头显示历史记录下拉列表。

一旦设置,捕捉过滤器将在您开始记录网络流量时立即应用。 但是,要应用显示过滤器,则需要单击输入字段最右侧的右箭头按钮。

07年05月

着色规则

Scott Orgera

虽然Wireshark的捕获和显示过滤器允许您限制哪些数据包被记录或显示在屏幕上,但它的着色功能可以通过根据各自的色调轻松区分不同的数据包类型而进一步推进。 这个方便的功能使您可以通过数据包列表窗格中的行的颜色方案快速找到保存的数据包中的某些数据包。

Wireshark自带约20种默认着色规则; 每个可以编辑,禁用或删除,如果你愿意。 您还可以通过着色规则界面添加新的基于阴影的过滤器,无法从“ 视图”菜单访问。 除了为每个规则定义名称和过滤条件之外,还要求您将背景颜色和文本颜色相关联。

数据包着色功能可以通过“ 查看”菜单中的“着色数据包列表”选项进行切换。

06年7月

统计

Getty Images(科林安德森#532029221)

除了Wireshark主窗口中显示的有关网络数据的详细信息之外,还可以通过屏幕顶部的统计信息下拉菜单查看其他几个有用的指标。 其中包括有关捕获文件本身的大小和时间信息,以及数十个图表和图形,主题从分组会话分解到负载分配HTTP请求。

显示过滤器可以通过各自的接口应用于其中的许多统计信息,并且可以将结果导出为CSVXML和TXT等几种常见文件格式。

07年7月

高级功能

Lua.org

虽然我们在本文中已经介绍了Wireshark的大部分主要功能,但这个强大工具中还有一些额外的功能,通常为高级用户保留。 这包括使用Lua编程语言编写自己的协议解析器的能力。

有关这些高级功能的更多信息,请参阅Wireshark的官方用户指南。