c++ winpcap开发(10)

过滤表达式语法
wpcap过滤器基于声明性谓词语法。过滤器是包含过滤表达式的ASCII字符串。
pcap_compile()接受表达式并将其转换为内核级包过滤器的程序。

该表达式选择要转储的数据包。如果没有给出表达式,则网络上的所有数据包将被内核级过滤引擎接受。否则,只接受表达式为“true”的数据包。
该表达式由一个或多个 基元组成。 原语通常由 一个或多个限定符前面的id(名称或数字)组成 。

有三种不同的限定词:

type: 限定词表示id名称或数字是指什么样的东西。可能的类型是 主机, 网络 和 端口。例如`host foo',`net 128.3','port 20'。如果没有类型限定符, 则假定主机。
DIR: 限定词指定到和/或从 id的特定传输方向 。可能的方向是 src, dst, src或dst 和 src和 dst。例如`src foo',`dst net 128.3',`src或dst port ftp-data'。如果没有dir限定符, 则假定为src或dst。对于“null”链路层(即点对点协议,如滑动),  inbound 和 outbound 限定符可用于指定所需的方向。
proto:限定符将匹配限制为特定协议。可能的protos是: ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp 和 udp。例如`ether src foo',`arp ​​net 128.3',`tcp port 21'。如果没有原始限定符,则假定与该类型一致的所有协议。

更复杂的过滤器表达式使用的话建立 andor and not  来组合原语。

例如,`host foo and not port ftp and not port ftp-data





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值