您当前的位置:首页 > 计算机 > 软件应用 > 网络应用

BPF过滤语法

时间:04-02来源:作者:点击数:

Wireshark抓包过滤器语法设置

1. 抓包过滤器

BPF语法(Berkeley Packet Filter)——基于libpcap/wincap库,在抓包的过程中过滤掉某些类型的协议,不抓取过滤掉的协议。(建议在流量特别大的情况下使用)

1.1 语法说明

  1. 类型Type: host、net、port
  2. 方向Dir: src、dst
  3. 协议Proto: ether、ip、tcp、udp、http、ftp
  4. 逻辑运算符: &&与、||或、!非

1.2 例子

  • src host 192.168.1.1 && dst port 80 抓取源地址为192.168.1.1,目的端口为80的流量
  • host 192.168.1.1 || host 192.168.1.2 抓取192.168.1.1和192.168.1.2的流量
  • !broadcast 不要抓广播包

过滤MAC地址案例

  • ether host 00:88:ca:86:f8:od
  • ether src host 00:88:ca:86:f8:od
  • ether dst host 00:88:ca:86:f8:od

过滤IP地址案例

  • host 192.168.1.1
  • src host 192.168.1.1
  • dst host 192.168.1.1

过滤端口案例

  • port 80
  • ! port 80
  • dst port 80
  • src port 80

过滤协议案例

  • arp
  • icmp

综合过滤案例

  • host 192.168.1.1 && port 8080

2. 显示过滤器

抓包的时候没有做任何过滤,抓完包后国女,抓包过滤器语法与显示过滤器语法是不一样的。只需要研究某一种协议,不需要全局流量的,可以使用抓包过滤器。在流量很小的时候建议使用显示过滤器。

2.1 语法说明

比较操作符

支持==、!=、<、>、>=、=等

== eq 等于 ip.addr == 192.168.0.1 ip.addr eq 192.168.0.1

!= ne 不等于 !ip.addr==192.168.0.1 ip.addr!= 192.168.0.1 ip.addr ne 192.168.0.1

> gt 大于 frame.len>64 frame.len gt 64

< lt 小于 frame.len<1500 frame.len le 1500

>= ge 不大于 frame.len >= 64

<= le 不小于 frame.len <= 1500

is present 符合某项参数,满足某个条件,或者出现某个现象 http.response

contains 包含某个字符串 http.host contains cisco

match 某串字符匹配某个条件 http.host matches www.cicso.com 逻辑关系操作符

逻辑操作符

&& and 逻辑与 ip.src==10.0.0.1 and tcp.flags.syn=1

|| or 逻辑或 ip.addr==10.0.0.1 or ip.addr==10.0.0.2

! not 逻辑非 not arp and not icmp 除了arp和icmp之外的包

ip.addr != 192.168.0.1 这样的表达式语法正确但是并不起作用,原因是每个IP数据包必定包含两个IP地址,wireshark执行上边的过滤功能时,只要发现源和目的IP有一不为192.168.0.1,就会判定条件为真,正确的应该是 !(ip.addr eq 192.168.0.1)

IP地址

ip.addr、ip.src、ip.dst

端口过滤

tcp.port、tcp.srcport、tcp.dstport、tcp.flag.syn、tcp.flag.ack

协议过滤

arp、ip、icmp、udp、tcp、bootp、dns

2.2 示例

过滤IP地址案例

  • ip.addr == 192.168.1.1
  • ip.src == 192.168.1.1
  • ip.dst == 192.168.1.1

过滤端口案例

  • tcp.port == 80
  • tcp.srcport == 80
  • tcp.dstport == 80
  • tcp.flags.syn == 1

过滤协议案例

  • tcp
  • not http
  • not arp

综合过滤案例

  • ip.src == 192.168.1.100 and udp.port == 4000
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门