协议筛选根据通信协议筛选数据包,如HTTP、FTP等。常用的协
议有UDP、TCP、ARP、ICMP、SMTP、POP、DNS、IP、Telnet、
SSH、RDP、RIP、OSPF等。
表达式筛选分为基本过滤表达式和复合过滤表达式。
一条基本的表达式由过滤项、过滤关系、过滤值3项组成。
例如,在?p.addr == 192.168.1.1这条表达式中,?p.addr是过滤项、
==是过滤关系、192.168.1.1是过滤值。这条表达式的意思是找出所有
IP中源或目标IP地址等于192.168.1.1的数据包。
1.过滤项
初学者往往会感觉过滤表达式比较复杂,最主要的原因就是过滤
项:一是不知道有哪些过滤项,二是不知道过滤项该怎么写。
这两个问题有一个共同的答案,W?reshark的过滤项是“协议+ . +协
议字段”的模式。以端口为例,端口出现在TCP中,那么有端口这个过
滤项的写法就是tcp.port。
推广到其他协议,如ETH、IP、HTTP、Telnet、FTP、ICMP、
SNMP等都是这个书写思路。当然,出于缩减长度的原因,有些字段
没有使用协议规定的名称,而是使用简写(例如,Dest?nat?on Port在
W?reshark中写为dstport),又加了一些协议中没有的字段(例如,
TCP只有源端口和目标端口字段,为了简便,使用W?reshark增加了
tcp.port字段来同时代表源端口和目标端口),但总的思路没有变。而
且在实际使用时输入“协议+ . ”,W?reshark就会有支持的字段提示