Wireshark捕获过滤器

概述

在Wireshark中包含了两种不同的过滤器:

  1. 捕获过滤器
  2. 显示过滤器

其中,两种过滤器是功能和使用场景各不一致。下面来依次进行对比。

过滤器类别 目的 功能强大性
捕获过滤器 减少抓取报文体积 使用BPF语法,功能相对有限
显示过滤器 对已抓取的报文过滤显示 功能强大

BPF过滤器

BPF过滤器全称是Berkeley Packet Filter。常用于在设备驱动级别提供抓包过滤结果,大部分抓包工具都支持此语法。

BPF过滤器支持expression表达式,在表达式中可以由多个原语组成。

下面,我们来依次讲解 原语原语运算符 等含义。

原语:是由名称或数字以及描述它的多个限定词组成的,例如:Type、Dir、Proto等限定词。
原语运算符:原语运算符包含与(&&/and)、或(||/or)、非(!/not)组成。

一个简单的BPF过滤器表达式如下:

  1. src or dst portrange 6000-8000 && tcp or ip6

限定词

下面,我们来依次讲解几类常用的限定词。

Type:设置数字或者名称所指示类型

  1. host:指定IP
  2. net:指定端口
  3. port:指定子网,例如net 192.168.0.0 mask 255.255.255.0 或者 net 192.168.0.0/24
  4. portrange:指定端口范围,例如portrange 6000-8000

设置网络出入方向

  1. src、dst、src or dst、src and dst
  2. ra、ta、addr1、addr2、addr3、addr4

Proto指定协议类型

例如:ether、fddi、tr、wlan、ip、ip6、arp、rarp、decnet、
tcp、udp、icmp、igmp、igrp、pim、ah、esp、vrrp。

其他

  1. gateway:指定网关IP地址
  2. broadcast:广播报文
  3. multicast:多播报文
  4. less, greater:小于或者大于