Wpcap过滤器基于一个声明式的谓词语法。过滤器则是一个包含了过滤表达式的ASCII字符串。Pcap_compile()获取这个表达式并将其翻译为一个内核级包过滤器的程序。 这个过滤表达式用于选择需要dump的数据包。如果没有给定的过滤表达式,内核级过滤引擎将会接收所有的数据包。否则,只有带入表达式之后其值为true的包才会被接收。 每个表达式由一个或更多的原语组成。而原语则包含一个id(可能为名字或数字)及位于它之前的一个或多个修饰词。一共有三类不同的修饰词: 类型修饰词(type) 此类修饰词用于描述它所修饰的id中的名字或数字的类别。可能的类型修饰词包括host,net和port。其例子包括’host foo’,’net 128.3’,’port 20’。如果没有指定的修饰词,则假定为host。