过滤器的区别

捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。
显示过滤器(DisplayFilters):在捕捉结果中进行详细查找。可以在得到捕捉结果后随意修改。

两种过滤器的目的是不同的:

捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。

显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。
两种过滤器使用的语法是完全不同的。


捕捉过滤器

Protocol(协议):

ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp等。
如果没有特别指明是什么协议,则默认使用所有支持的协议。

Direction(方向):

src, dst, src and dst, src or dst
如果没有特别指明来源或目的地,则默认使用 “src or dst” 作为关键字。
例:”host 10.2.2.2″与”src or dst host 10.2.2.2″是一样的。
Host(s):
net, port, host, portrange.
如果没有指定此值,则默认使用”host”关键字。
例:”src 10.1.1.1″与”src host 10.1.1.1″相同。
Logical Operations(逻辑运算):
not, and, or.
否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。
例:
“not tcp port 3128 and tcp port 23″与”(not tcp port 3128) and tcp port 23″相同。
“not tcp port 3128 and tcp port 23″与”not (tcp port 3128 and tcp port 23)”不同。

范例:
tcp dst port 3128    //捕捉目的TCP端口为3128的封包。
host 10.1.2.3        //捕捉目的或来源IP地址为10.1.2.3的封包。
ether host e0-05-c5-44-b1-3c //捕捉目的或来源MAC地址为e0-05-c5-44-b1-3c的封包。如果你想抓本机与所有外网通讯的数据包时,可以将这里的mac地址换成路由的mac地址即可。
src portrange 2000-2500  //捕捉来源为UDP或TCP,并且端口号在2000至2500范围内的封包。
not imcp                 //显示除了icmp以外的所有封包。(icmp通常被ping工具使用)
src net 192.168.0.0 mask 255.255.255.0   //捕捉源地址为192.168.0.0网络内的所有封包。


显示过滤器

例:

snmp || dns || icmp    //显示SNMP或DNS或ICMP封包。 
ip.addr == 10.1.1.1    //显示来源或目的IP地址为10.1.1.1的封包。
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6  //显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。
ip.src != 10.1.2.3 and ip.dst != 10.4.5.6  //显示来源不为10.1.2.3并且目的IP不为10.4.5.6的封包。
tcp.port == 25     //显示来源或目的TCP端口号为25的封包。 
tcp.dstport == 25  //显示目的TCP端口号为25的封包。 
tcp.flags               //显示包含TCP标志的封包。 
tcp.flags.syn == 0×02  //显示包含TCP SYN标志的封包。 
如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。