前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >虹科分享 | 网络流量监控 | 构建大型捕获文件(Ⅰ)——Wireshark过滤器和其他Allegro网络万用表工具

虹科分享 | 网络流量监控 | 构建大型捕获文件(Ⅰ)——Wireshark过滤器和其他Allegro网络万用表工具

原创
作者头像
虹科网络可视化与安全
发布2023-01-05 16:04:48
6500
发布2023-01-05 16:04:48
举报

数据包分析是一个复杂的话题。如果在没有设置参数的情况下启动Wireshark,就会开始实时捕获或打开一个预先录制的pcap文件。在很短的时间内,可能有成千上万的数据包等待分析。有一种危险,就是被大量的数据困住了。

然而,如果用户想深入分析数据包,没有一个其他产品可以替代Wireshark。但是,有一些方法可以使这项任务变得更加容易。

本文解释了应对挑战和减少数据包分析工作的策略--无论是为了排除故障还是为了评估网络质量。

第一部分也就是本篇讨论的是解释如何使用Wireshark工具进行结构化搜索的技术。这里涵盖了过滤器、颜色标记和协议层次的技术。

第二部分将会在下一期为大家进行介绍,我们该如何使用 Allegro 网络万用表来加快 pcap 分析器的工作。

旗舰级的Wireshark

开源程序Wireshark是一个非常好用的pcap分析器。该项目从前身 "Ethereal "中脱颖而出,自2006年以来一直存在,自其发布以来已将所有商业对比产品挤出市场。Wireshark是一个面向数据包的分析器,用于准确定位问题,并以图形显示数据日志。

大多数繁忙的网络会有许多水平的网络连接,需要准确的数据包分析。例如,只访问一个网站就会产生与许多其他主机的连接。

过滤器的使用

由于需要处理的数据量巨大,Pcap 文件的分析可能是一个挑战。可以使用过滤器来有选择地隐藏不感兴趣的连接。我们的目标是最终获得一组相对容易管理的数据包,作为详细分析的起点。

除了应用BPF语法等外部工具和技术来过滤流量外,Wireshark还有一些板载手段来减少大量的信息,以便更接近相关信息。Wireshark区分了两种类型的过滤器。捕获过滤器定义哪些数据包被记录下来;显示过滤器定义了哪些捕获的数据包被包括在当前的分析中。但是,这两种过滤器使用不同的语法。

在Wireshark中的简单显示过滤器

在Wireshark中最常用的使内容更精简得技术是使用显示过滤器。

显示过滤器最简单的用途是将流量减少到单一的应用程序、特定的协议或数据字段的确切规格。要做到这一点,你可以使用菜单(分析->显示过滤器)来选择,例如,HTTP协议,这将限制视图到所有的HTTP条目,或者直接在过滤器工具栏上插入所需的过滤器值。如果你想只看到所有的SIP连接,你只需在输入框中输入'sip',然后用'Enter'确认即可。

图片
图片

在Wireshark中通过显示过滤器进行特定的协议过滤

过滤器正在使用中,可以在过滤器工具栏的输入栏中看到(用绿色突出显示)。右下方的状态栏也显示过滤器已被设置,或者当时确实只显示了一定比例的数据包。

图片
图片

在直接输入显示过滤器时,Wireshark提供了一个自动完成功能,因此在输入过滤器时,所有具有相同字母序列的可用过滤器都会被建议。

比较运算符

除了使用简单的过滤器,条件也可以被链接。Wireshark的过滤器语法提供了括号、逻辑运算符,如'and' 'or',以及比较运算符,如= =或! =。

例如,如果你想显示 "从IP地址10.17.2.5到80端口的任何TCP流量",翻译成Wireshark的过滤语法是ip.src = = 10.17.2.5 and tcp.dstport = = 80。

在这个例子中,条件是用 'and' 连接的。条件1规定,数据包的源IP地址必须是10.17.2.5,条件2规定,协议必须是TCP,目的端口必须是80。

任何数量的条件都可以连接起来,以进一步限制显示的流量的选择。

来自Wireshark的表达式生成器

作为一个熟练的Wireshark用户,表达式可以从内存中自由应用。最初,使用Wireshark的表达式生成器对话框将表达式添加到显示过滤器中是非常容易的。

当右击过滤器工具栏中的术语 "表达式 "时,这个对话框会打开。在这里,可以选择和链接预定义的运算符。为了检查所选的过滤器是否正确,过滤器工具栏变成绿色。如果过滤器是无效的,则该区域会以红色显示。

图片
图片

在Wireshark中调用表达式生成器

如果需要的话,可以保存Wireshark的过滤器。

捕获过滤器

除了上述减少显示数据包的显示过滤器外,还可以在流量记录开始的那一刻应用过滤器;这些被称为捕获过滤器,确保网络数据被限制在所需的选择范围内。

Wireshark捕获过滤器使用与tcpdump、libpcap过滤器相同的语法。就是说,用字节偏移、十六进制值和与真值相关的掩码的语法来过滤数据。捕获过滤器的应用并不简单,因为它们比显示过滤器更隐蔽。

Wireshark手册中包含了更多关于集成在Wireshark中的过滤器的信息。

在这篇文章中,只讨论了Wireshark作为机载工具所提供的最重要的过滤器。应用比最简单的显示过滤器更深奥的过滤器,需要对Wireshark的过滤器语法有深入的了解,以便持续使用过滤器来解决自己的研究问题。

使用Wireshark进行颜色标记

除了过滤功能外,Wireshark还有一个可定制的颜色编码系统。例如,默认情况下,所有UDP数据包都标为蓝色,标准TCP传输为紫色,HTTP为绿色。这些颜色编码有助于管理员一目了然地识别数据包的类型。用户定义的颜色规则可以分配给自己的配置文件并保存,完成系统。文本和背景颜色都可以自定义。

图片
图片

单个数据流可以通过自动颜色编码轻松追踪。然而,为了一目了然地看到哪些连接是活动的,或者单个数据包属于哪些连接,而不是通过IP地址/端口号来确定,你可以通过颜色代码来调节。要启用这一点,在右键单击数据包后,你可以在上下文菜单中点击 "彩色连接",并选择连接类型(以太网、IPv4、IPv6、TCP、UDP等)。

根据传输协议为连接着色,同一IP对之间的单个通信流可以被区分出来。这比只看IP地址能够进行更细化的分析。在多个主机同时进行通信的情况下,或者在同一主机之间有多个通信连接需要区分的情况下,对单个连接进行颜色编码特别有用。如果你想仔细观察任何潜在的可疑流量,颜色编码也是一种可行的记录方式。颜色编码为大型 pcap 数据文件的初始定位提供了一种易于使用的技术。

使用协议层次

这里要介绍的第三种技术是使用协议分层,以便在大型 pcap 文件中更好地定位。与颜色编码相比,这需要高级的 Wireshark 知识。协议层次的使用提供了有用的线索,例如,在追踪可疑的应用程序或协议时。

要显示记录文件中使用的日志,必须选择菜单项 "统计->日志层次结构"。层次结构提供了一个树状的日志视图,包括每个日志的统计值。它被称为层次结构,因为数据是根据通信层排列的,因为大多数数据包包含多个封装的协议。因此,一个HTTP数据包被列在一个TCP数据包下,两者都在IP数据包下,等等。

图片
图片

按协议层次的Wireshark视图

除了协议信息外,管理员还可以查看该协议在总流量中的份额有多高,数据包的确切数量或某一协议的带宽。如果在数据条目中发现意外的高值,应该更仔细地检查这个流量。为此,用鼠标右键标记该条目,以便进一步分析。一个上下文菜单打开,可以直接过滤或着色数据包。由于列表的分层结构,不可能对日志进行排序或重新排序。

然而,可以采用演绎策略,直接从日志层次视图中过滤掉不感兴趣的日志。可以从过滤后的结果中保存一个单独的捕获文件。

总的来说,协议分层技术是一种可扩展的方式,可以获得一个 pcap 文件的整体视图。协议层次结构通常是进一步分析的起点,因为在这里可以看到意外流量或错误的迹象,比如意外的协议或单个协议的意外数据比例。引起注意的往往不是某个协议的存在,而是其相对比例。

下一期我们将告诉大家,如何使用Allegro网络万用表作为预过滤器来过滤和构建大型捕获文件。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档