网络分析系列之十一 Wireshark采集过滤器

Wireshark的世界里有2种过滤器,分别是采集过滤器和显示过滤器,采用恰当的过滤器,不但能提高数据分析的灵活性,而且能让分析者更快看到自己想要的分析对象。

使用Wireshark采集数据包时,可能有诸多原因会使用到采集过滤器,比如减少采集的数据包大小来节省磁盘空间,加速问题和目标分析,提高软件自身工作速率等等。本节介绍如何使用采集过滤器,以及常见的采集过滤器的特征和表达方式,另外罗列出常用的采集过滤器表达式供参考。

为什么要使用抓包过滤器

当网络中数据流的规模相当庞大时,只抓取满足某些条件的流量就显得十分重要了。如果用户需要在生产环境中进行流量分析,那他一定迟早会需要使用到抓包过器。用户要在开始抓包之前使用抓包过滤器。总之,Wireshark抓取的每个数据包都会提交给抓包引擎,再由抓包引擎将抓取的数据包转换成人类可以读懂的格式。但是,如果用户应用了抓包过滤器,那么Wireshark就会丢弃与用户需求不符的那些数据包。Wireshark不会将这些丢弃的数据包交给抓包引擎进行转换。相比之下,显示过器就要具体和强大得多了。在使用抓包过滤器时,用户一定要谨慎,因为如果有些数据包因为与用户定义的规则不符可能被丢弃,这些丢弃的数据包是无法恢复的。

创建过源器时要使用伯克利数据包过器(BPF)语法,还有很多协议分析软件使用的也是这种语法,因为这种语法是行业标准。这种语法很容易学习和使用,使用基本的格式来构建用户的过滤标准就行了。

如何使用抓包过滤器

最简单直接的使用方式如下图,在Wireshark主体界面,直接输入抓捕过滤器表达即可。

也可以选择已有的过滤器名称,直接使用。如下图。

如何管理过滤器

管理过滤器的目的是提前定义常用的过滤器,在使用的使用直接使用,以避免再去查找语法或书写规范等操作。

选择捕获——捕获过滤器,即可打开捕获过滤器管理窗口。

在捕获过滤器窗口,你可以定义自己想要的过滤器并保存,下次使用的使用,直接从下拉菜单选择就行。

在定义捕获过滤器时,有个小技巧,就是多用复制功能,这种先通过复制形似的过滤器,然后再调整修改的方式能够加快过滤器的定义速度,提高定义过滤器的准确性。

抓包过滤器语法规则

捕获过滤器应用于Winpcap,并使用 Berkeley Packet Filter(BPF)语法。这个语法被广泛用于多种数据包抓包软件,主要因为大部分数据包抓包软件都依赖于使用BPF的libpcap/Winpcap库。

掌握BPF语法对你在数据包层级更深入地探索网络来说是非常关键的。使用BPF语法创建的过滤器被称为表达式,并且每个表达式包含一个或多个原语。每个原语包含一个或多个限定词,然后跟着一个ID名字或者数字,如下图是对限定词的介绍。

下图是一个完整的抓包过滤器示例。

在这个给定表达式的组成部分中,一个src限定词和192.168.0.10组成了一个原语。这个原语本身就是表达式,可以用它只捕获那些源IP地址是192.168.0.10的流量。

你可以使用以下3种逻辑运算符,对原语进行组合,从而创建更高级的表达式。

•连接运算符与(&&)

•选择运算符或(II)

•否定运算符非(!)

举例来说,下面的这个表达式只对源地址是192.168.0.10和源端口或目标端口是80的流量进行捕获。

src 1921680.108&& port 80

常见抓包过滤器列表

以下是常见的抓包过滤器,供参考。

你可能感兴趣的:(网络分析系列之十一 Wireshark采集过滤器)