wireshark捕获过滤器语法使用解析
作者:nwatch
指定捕获过滤器
捕获过滤器的语法格式为:
<Protocol> <Direction> <Host> <Value> <Logical Operation> <other expression>
以上语法解析:
Protocol
(协议) :该选项用来指定协议。可使用的值有ether、fddi、 wlan、 ip、arprarp、decnet、 lat、 sca、 moproc、 mopdl、 tcp 和udp.如果没有特别指明是什么
议,则默认使用所有支持的协议。
Direction
(方向) :该选项用来指定来源或目的地,默认使用src or dst作为关键该选项可使用的值有src、dst、 sre and dst和src or dst。
Host(s)
: 指定主机地址。如果没有指定,默认使用host 关键字。可能使用的值有
net、port、 host 和portrange.
Logical Operations
(逻辑运算):该选项用来指定逻辑运算符。可能使用的值有and和or.其中,not (否)具有最高的优先级; or (或)和and (与)具有
优先级,运算时从左至右进行。
Other expression
(其他表达式) :使用其他表达式捕获过滤器。
例如:
指定捕获tcp协议且端口为80 的数据包:
基于类型过滤
Wireshark可以基于类型进行捕获过滤。其中可能使用的类型有主机host,网段net,端口port,端口范围portrange和特殊类型。
主机host
语法格式: host host
解析:第一个host表示过滤器类型为host:第二个host表示主机地址,可以是ipv4或Ipv6地址。
例:捕获主机192.168.1.10 的数据包。
host 192.168.1.10
网段net
net用来指定捕获那个网段的数据包,其中网络类型的过滤器有三种形式。分别是:
net net
net mask
net CIDR
net net
net 192.168.1.0 //对应掩码 255.255.255.255
net 192.168.1 //对应掩码 255.255.255.0
net 192.168 //对应掩码 255.255.0.0
net 192 //对应掩码255.0.0.0
net mask形式
net 192.168.1.0 mask 255.255.255.0
net CIDR形式
net 192.168.1.0/24
端口port
语法格式: port port
例: port 80
端口范围
语法:portrange port1-port2
例: portrange 1-100
特殊类型
gateway host
基于传输方向的过滤
1. 源src
可以在host,net,port,portrange类型前面田间src;
src host host //仅捕获地址为指定主机的数据包
src net net //仅捕获源地址为指定网段的数据包
src port port //仅捕获源端口为指定端口的数据包
src portrange port1-port2 //仅捕获端口范围为指定端口范围的数据包
2. 目标dst
dst host host //仅捕获地址为指定主机的数据包
dst net net //仅捕获源地址为指定网段的数据包
dst port port //仅捕获源端口为指定端口的数据包
dst portrange port1-port2 //仅捕获端口范围为指定端口范围的数据包
3. 源或者目标
src or dst host
src or dst net
src or dst port
src or dst portrange port1-port2
4. 源和目标
src and dst host
src and dst net
src and dst port
src and dst portrange port1-port2
5. 特殊方向
除了上述还有两种特殊方向捕获过滤器,分别是:
广播:broadcast
多播:multicast
ether broadcast //捕获以太网广播流量
ip broadcast //捕获ip广播流量
ether multicast //捕获哦以太网多播流量
广播和多播的区别
主机之间一对所有的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。
广播的优点:
1)网络设备简单,维护简单,布网成本低廉
2)由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。
广播的缺点:
1)无法针对每个客户的要求和时间及时提供个性化服务。
2)网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。例如有线电视的客户端的线路支持100个频道(如果采用数字压缩技术,理论上可以提供500个频道),即使服务商有更大的财力配置更多的发送设备、改成光纤主干,也无法超过此极限。也就是说无法向众多客户提供更多样化、更加个性化的服务。
3)广播禁止允许在Internet宽带网上传输。
组播:
主机之间一对一组的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。
组播的优点:
1)需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。具备广播所具备的优点。
2)由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议允许有2亿6千多万个组播,所以其提供的服务可以非常丰富。
3)此协议和单播协议一样允许在Internet宽带网上传输。
组播的缺点:
1)与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。
2)现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。
实例:捕获IPV4多播数据包
基于协议过滤
1. 协议
支持的协议过滤器
捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中。
显示过滤器(DisplayFilters):用于在捕捉结果中进行详细查找。
这些可以搭配前面所讲的过滤方式达到更加巧妙的过滤方式
例子:过滤源主机为192.168.1.100并且为tcp协议端口80的数据
基于数据过滤
1. 长度过滤
可以使用 less ,greater关键字
less 12 也可写成 len <=12
greater 12 也可写成 len>=12
2. 基于内容过滤
语法格式: proto[expr:size] relop express
参数解析:
proto
:支持的协议,有ether,fddi,tr,wlan,ppp,slip,link,ip,arp,rarp,tcp,udp,icmp,ip6或radio
expr :指定协议的偏移地址
size
:指定数据长度其中,单位bit
relop
:指定使用的运算符,关系运算符有,>,<,>=,<=.=,!=,二进制运算符有,+,-,*,/,%,&,|,^,<<,>>
例如:捕获所有ipv4地址包,
ip[0] & 0xf !=5
使用多个捕获过滤器
通过结合逻辑运算符可以同时使用多个捕获过滤器。
有: not (!) ,and(&&),or(||) ,
例如:捕获主机192.168.1.100,而且tcp端口为80的数据包
host 192.168.1.100 and tcp port 80
注意: not(!) 具有最高优先级,and(&&)和 or(||)优先级相等。
使用预置表达式
可以将平时常用,或者,想到骚操作记录下来,下次就可以直接使用了。
ok,捕获过滤器的内容到这里就结束了,接下来会持续更新,显示过滤器,数据的处理与分析,等内容,更多关于wireshark捕获过滤器语法的资料请关注脚本之家其它相关文章!