Wireshark捕获过滤器

一、说明简介

过滤器分为“捕获过滤器”与“显示过滤器”,前者只会抓取匹配规则的数据包,而后者数据已经全部抓取,只是在显示的时候,显示匹配规则的数据包。

捕获过滤器采用的是BPF(Berkeley Packet Flter)语法。BPF是一个用于过滤网络报文的框架,主要有两个个功能1、根据外界输入的规则过滤报文 2、将符合条件的报文由内核复制到用户空间。

具体的BPF语法可以请参考链接

一个“表达式”包含多个“原语”,“原语”通常包含一个id(标识,比如IP、域名、端口,可以是数字或者是名称)或多个“限定符”组成,原语之间可以使用逻辑运算符组合。

在这里插入图片描述
有三种类型的限定符,如下图:

限定符
有六种类型的运算符,如下图:
运算符
语法举例:

语法举例

二、过滤器具体语法

大概分为4类,Ethernet过滤器(2层)、主机和网络过滤器(3层)、TCP/UDP端口过滤器(4层)。

2.1配置Ethernet过滤器

Ethernet过滤器指的是二层过滤器,即根据MAC地址来进行进行过滤功能的抓包过滤器。


  • ether host

抓取源于或发往某一具体MAC地址的流量,抓取源于或发往某一具体MAC地址的流量。


  • ether dst

抓取发往某一具体MAC地址的流量,如此配置:ether dst 00:24:d6🆎98:b6。


  • ether src

抓取源于某一具体MAC地址的流量,如此配置:ether src 00:24:d6🆎98:b6。


  • ether broadcast

抓取以太网广播流量,如此配置:ether broadcast或ether dst ff:ff:ff:ff:ff:ff。


  • ether multicast

抓取以太网多播流量,如此配置:ether multicast。


  • ether proto

抓取特定以太网类型的流量(以太网类型代码值用十六进制数表示),如此配置:ether proto 0800。


  • vlan <vlan_id>

只抓取由标识符<vlan_id>所指定的VLAN的流量。


  • Not或!

表示取反,舍弃源自或发往由标识符Ethernet host所指定的以太网主机的以太网流量格式如Not ether host 或 ! Ether host


2.2配置主机和网络过滤器

所谓主机和网络过滤器,是指基于IP地址的第三层过滤器。


  • ip或ipv6

让Wireshark只抓取IPv4或IPv6流量


  • host

让Wireshark只抓取源于或发往由标识符host所指定的主机名或IP地址的IP流量。
要让Wireshark只抓取源于或发往主机10.10.10.1的所有流量,抓包过滤器应如此配置:host 10.10.10.1。
要让Wireshark只抓取源于或发往主机www.epubit.com的所有流量,抓包过滤器应如此配置:host www.epubit.com。


  • dst host

让Wireshark只抓取发往由标识符host所指定的主机名或IP地址的IP流量。
要让Wireshark只抓取发往主机10.10.10.1的所有流量(即目的IP地址为10.10.10.1的数据包),抓包过滤器应如此配置:dest host 10.10.10.1。


  • src host

让Wireshark只抓取源于由标识符host所指定的主机名或IP地址的IP流量。
要让Wireshark只抓取源自主机10.10.10.1的所有流量(即源IP地址为10.10.10.1的数据包),抓包过滤器应如此配置:src host 10.10.10.1。


  • net

让Wireshark只抓取源于或发往由标识符net所标识的IPv4/IPv6网络号的流量。
要让Wireshark只抓取源于或发往IP网络192.168.1.0/24的所有流量,抓包过滤器应如此配置:net 192.168.1或net 192.168.1.0 mask 255.255.255.0 或net 192.168.1.0/24。


  • dst net

让Wireshark只抓取发往由标识符net所标识的IPv4/IPv6网络号的流量。


  • src net

让Wireshark只抓取源于由标识符net所标识的IPv4/IPv6网络号的流量。


  • net mask

让Wireshark只抓取源于或发往由标识符net和mask共同指明的IPv4网络号的流量(对IPv6流量无效)


  • dst net mask

让Wireshark只抓取发往由标识符net和mask共同指明的IPv4网络号的流量(对IPv6流量无效)。


  • src net mask

让Wireshark只抓取源于由标识符net和mask共同指明的IPv4网络号的流量(对IPv6流量无效)。


  • net /

让Wireshark只抓取源于或发往由标识符net指明的IPv4网络号的流量。


  • dst net /

让Wireshark只抓取发往由标识符net指明的IPv4网络号的流量。


  • src net /

让Wireshark只抓取源于由标识符net指明的IPv4网络号的流量。


  • broadcast

让Wireshark只抓取IP广播包。


  • multicast

让Wireshark只抓取IP多播包。


  • ip proto

让Wireshark只抓取IP包头的协议类型字段值等于特定值(等于由标识符proto所指明的protocol code[协议代码]值)的数据包。IP数据包的种类繁多,随IP包头的协议类型字段值而异,比如,TCP数据包(协议类型字段值为6)、UDP数据包(协议类型字段值为17)和ICMP数据包(协议类型字段值等于1)等。
要让Wireshark只抓取ICMP流量,抓包过滤器应如此配置:ip proto 1。


  • ip6 proto

让Wireshark只抓取IPv6主包头中下一个包头字段值等于特定值(等于由标识符proto所指明的protocol值)的IPv6数据包。请注意,无法使用该原词根据IPv6扩展包头链中的相关字段值来执行过滤。


  • icmp[icmptype]==

让Wireshark只抓取特定类型[icmptype]的ICMP数据包。表示的是ICMP头部中的类型字段值,比如,0(ICMP echo reply数据包)或8(ICMP echo request数据包)等。
要让Wireshark只抓取ICMP echo request流量,抓包过滤器应如此配置:icmp[icmptype]==icmp-echo或icmp[icmptype]==8。在以上两个过滤器中,icmp-echo和8分别表示ICMP echo request数据包的名称和类型(即ICMP数据包的ICMP头部中的类型字段值和与之对应的名称)。


2.3配置TCP/UDP端口过滤器

根据第4层协议TCP/UDP的端口号来实现过滤


  • port

源或目的端口号将匹配标识符port所指明的端口号。
只抓源或目的端口号为5060的数据包(SIP流量),抓包过滤器应如此配置:port 5060。


  • dst port

目的端口号将匹配标识符port所指明的端口号。
只抓目的端口号为80的数据包(HTTP流量),抓包过滤器应如此配置:dst port 80或dst port http。


  • src port

源端口号将匹配标识符port所指明的端口号。


  • tcp portrange -或udp portrange -

源或目的端口范围介于p1和p2之间的TCP或UDP数据包


  • tcp src portrange -或udp src portrange -

用来抓取源端口范围介于p1和p2之间的TCP或UDP数据包。


  • tcp dst portrange -或udp src portrange -

    用来抓取目的端口范围介于p1和p2之间的TCP或UDP数据包。


  • tcp-urg

用来抓取紧急指针标记位置1的TCP数据包。


  • tcp-rst

用来抓取RESET标记位置1的TCP数据包。


  • tcp-ack

用来抓取ACK标记位置1的TCP数据包。


  • tcp-syn

用来抓取SYN标记位置1的TCP数据包。
只抓所有用来发起(SYN标记位置1)TCP连接的数据包,抓包过滤器应如此配置:tcp-syn!=0。


  • tcp-psh

用来抓取PUSH标记位置1的TCP数据包。


  • tcp-fin

用来抓取FIN位置1的TCP数据包。


2.4 配置复合型过滤器

复合型过滤器也叫结构化过滤器,由多个过滤条件构成,过滤条件之间通过not、and或or之类的操作符来进行关联。

参考:Wireshark网络分析实战(第2版)、Wireshark数据包分析实战(第3版)

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值