WinPcap BPF 过滤规则.PDF

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WinPcap BPF 过滤规则

WinPcap BPF 过滤规则 [WinPcap 用户手册] 注释:此文档是在 TcpDump (ps:知名嗅探工具)上的文档基础上改写而成,源文档可以在 上找到(ps:/tcpdump_man.html ) Wpcap 过滤器是基于描述性而制定的语法规则,过滤规则是一个包含过滤表达式的ASCII 码字 符串,此规则表达式在程序中作为pcap_compile()函数的参数被编译,并用于内核级的包过滤 机制使用. (ps:表达式的形成后面会讲到,个人感觉表达式应该是由各种过滤关键字形成的) 此表达式决定哪种包将被捕获(ps:dumped?感觉逆着翻译更好些),如果表达式为空,所 有网卡捕获到的数据包都会提交给内核过滤引擎,否则,只有满足表达式中关键字的数据包才会 表达式是由一个或者多个原语(ps:原语也太专业了,个人感觉:翻译成关键字或者基本类型) 组成,而关键字通常是被一个或多个修饰词修饰的标识符 (名称或序号)(ps:id 貌似是数据 包头里的各种类型,参考ip_header 数据结构即可明白),下面是三种不同类型的修饰词: type 此类修饰词决定哪种类型的标识符被引用,常用的修饰词有host, net and port. 例 如, `host foo, `net 128.3, `port 20.在没有此类修饰符的情况下,默认使用 host.(ps:foo 这个词很有意思,参加RFC3092..嘿嘿) dir 此修饰符类型从标识符指定了一个详尽的数据传输方向(使用and 和or),常用的方向 指示修饰符有src, dst, src or dst and src and dst.等.例如, `src foo, `dst net 128.3, `src or dst port ftp-data.在没有指定此类修饰符时,默认使用src or dst.如果没有链路层(像slip 这种点对点类型协议)可以使用inbound 和 outbound 来具体描述一方向. proto 此类修饰符的作用是过滤指定协议数据包,常见的协议有: ether,fddi,tr,ip,ip6,arp,rarp,decent,tcp and udp,例如, `ether src foo, `arp net 128.3, `tcp port 21.如果没有指定协议类型修饰符,默认为使用所有与标 识符匹配的协议. src foo 等价于 `(ip or arp or rarp) src foo (除非src 不合法), `net bar等价于 `(ip or arp or rarp) net bar ,`port 53 等价于 `(tcp or udp) port 53. [‘fddi 实际上只是`ether的一个别名,解析器都把它们理解为“数据链路层运行在详尽的网 路接口上” FDDI 数据头包含了源和目的以太网地址,而且很可能包含以太网数据类型(ps: 看下ether_header 数据结构就晓得了),所以FDDI 和Ethernet 数据结构是可以相互转换 的,FDDI 头还包含其它信息,可惜现有的过滤表达式无法清楚的描述出它们. 同上, `tr 也是`ether的别名,上段关于FDDI 头信息的声明同样适用于令牌网数据头.] 除了以上内容,还有一些特殊类型关键字不符合以上修饰:饰 gateway, broadcast, less, greater 和算术表达式,下面来详细讨论: 我们使用 and, or 和not 连接这些基本类型来实现强大的混合多功能表达式,例如,`host foo and not port ftp and not port ftp-data.为减少输入,同一修饰符可以省略.例如,`tcp dst port ftp or ftp-data or domain 完全等价于 `tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain. 可允许的基本类型(原语)有: dst host host 当IPv4/v6 数据包的destination 域是一个host 类型(地址、名称都可)时成 立.(ps:destination 域其实就是数据报头的结构体里的一个变量)

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档