wireshark教程之建立显示过滤表达式

Wireshark提供了简单而强大的过滤语法,你可以用它们建立复杂的过滤表达式。你可以比较包中的值,合并表达式为多个指定表达式。本节介绍了相关操作。
你可以在Wireshark Wiki Display页找到发现大量的显示过滤范例。http://wiki.wireshark.org/DisplayFilters.

6.4.1. 显示过滤字段

包详情面板的每个字段都可以作为过滤使用。应用这些作为过滤将会仅显示包含该字段的包。例如:过滤字符串:TCP将会显示所有包含TCP协议的包。
通过"Help/Support Protocals"/帮助/协议支持菜单项访问"Display Filter Fields/显示过滤字段"可以查看完整完整的过滤字段列表。

6.4.2
. 比较值

你可以通过在许多不同的比较操作建立比较过滤。详见表 6.3 “显示滤镜比较操作符”

wireshark教程之建立显示过滤表达式
 
wireshark教程之建立显示过滤表达式


6.4.3. 组合表达式

你可以用逻辑操作符将过滤表达式组合在一起使用,见表 6.4 “显示过滤的逻辑操作符”

表 6.4. 显示过滤的逻辑操作符
wireshark教程之建立显示过滤表达式
 
wireshark教程之建立显示过滤表达式
 

6.4.4
. 常见的错误

wireshark教程之建立显示过滤表达式

经常有人用ip.addr ==1.2.3.4 表达式来选择所有包含ip地址为1.2.3.4的包,
如果有人想用ip.addr !=1.2.3.4 表达式来排除ip地址为1.2.3.4的包,很不幸。它不会像你期待的那样。

相反,那个表达式为真值得条件是源地址或目标地址中的任意一个不等于1.2.3.4即可。因此,那个表达式ip.addr !=1.2.3.4 可以被读作:"该包包含的ip字段值必须不为1.2.3.4"。因为一个ip数据报同含源地址和目标地址,只要两个地址有一个不为1,2,3,4表达式就为真。

接着上面的话题,如果你真想过滤捕捉文件中,ip地址包含1.2.3.4的包,正确的表达式应该是!(ip.addr==1.2.3.4)。它可以读作:"显示所有'字段名为ip.addr值存在1.2.3.4'为非真的包'",换句话说:"筛选所有字段名ip.addr的值中未出现1.2.3.4的包"


上一篇:奇异的路由问题


下一篇:CSS3实战:第一天