WireShark学习笔记(二)数据包过滤

  WireShark有捕获过滤器和显示过滤器两种过滤器,捕获过滤器可以在捕获数据包的时候就进行过滤,使得捕获的时候只进行过滤的数据捕获。显示过滤器在显示的时候进行过滤,使得显示的时候将捕获到的数据进行显示。
  这两种过滤方式的优势显而易见,第一种可以减少捕获的数据包数量,从而减少系统的负荷。第二种可以捕获更多的数据包,只是在显示的时候过滤,这样可以在以后的分析中如果需要其他数据信息的话可以直接更改显示过滤规则将其他的数据包找到。

一、捕获过滤器

  
  打开捕获过滤器的方法是:点击Capture –>Interfaces,选择好网卡之后点击Option按钮在Capture Filtera旁边的输入框里就可以输入表达式了。

1、基本语法

  由限定词后跟一个ID名字或数字组成一个原语,一个表达式可以包含多个原语。例如:dst host 192.168.0.1 && tcp port 80中dst host 192.168.0.1组成一个原语,dst和host 是这个原语中的限定词192.168.0.1是ID,&&是操作符,tcp port 80又组成一个原语,tcp和port是这个原语 的限定词,80是ID,整个语句组成一个表达式。

2、BPF限定词

限定词说明例子
Type指出名字或数字所代表的意思host、net、port
Dir指明传输方向是前往还是来自名字或数字src、dst
Proto限定所要匹配的协议ether、ip、tcp、udp、http、ftp


3、逻辑运算符

  • 连接运算符:与(&&)
  • 选择运算符:或(||)
  • 否定运算符:非(!)

4、主机名和地址过滤器

  WireShark可以根据主机的属性进行过滤,包括MAC地址、IPV4、IPV6或者DNS主机名配置等过滤规则,如下例子:

  • 根据IPv4过滤:host 192.168.0.1
  • 根据IPv6过滤:host fe80::be30:7dff:fea0:5a6f
  • 根据MAC地址过滤:ether host 00-1a-a0-52-e2-a0
  • 根据流出传输方向过滤:src host 192.168.0.1
  • 根据流入传输方向过滤:dst 192.168.0.1(host限定词可以省略)

5、端口过滤
  
  WireShark不但可以通过主机过滤还可以通过端口过滤,端口过滤通常被用来过滤使用已知端口的服务和应用。比如我们可以监控捕获80(标准HTTP协议)端口的流量

port 80

6、协议和协议域过滤

  协议过滤器可以帮助我们进行相应协议的过滤,只抓取相应协议或除这些协议的数据包,例如:

icmp (抓取icmp协议数据包)
!ip6 (抓取除ipv6协议以外的数据包)

  协议域过滤器是用来对数据包某一个区域的数据进行过滤,比如要过滤icmp数据包的最开头位置(偏移量为0)的数值是不是3:

icmp[0] == 3

  如果需要过滤从最开头向后偏移两个字节的数据只需要有:分割,之前写偏移位置,之后写偏移量即可。例如查看icmp数据包中从最开头向后偏移2个字节的数据是不是0x0301:

icmp[0:2] == 0x0301

7、常用捕获过滤器总结:

过滤器说明
tcp[13]&32==32设置了URG位的TCP数据包
tcp[13]&16==16设置了ACK位的TCP数据包
tcp[13]&8==8设置了PSH位的TCP数据包
tcp[13]&4==4设置了RST位的TCP数据包
tcp[13]&2==2设置了SYN位的TCP数据包
tcp[13]&1==1设置了FIN位的数据包
tcp[13]==18TCP SYN-ACK数据包
ether host 00:00:00:00:00流入或者流出MAC地址为00:00:00:00:00的数据包
!ether host 00:00:00:00:00不流入或者流出MAC地址为00:00:00:00:00的数据包
broadcast仅广播流量
icmpICMP流量
icmp[0:2] == 0x0301ICMP目标不可达、主机不可达
ip仅IPv4流量
ip6仅IPv6流量
udp仅UDP流量

二、显示过滤器

  
  显示过滤器在WireShark的主界面左上角的Filter按钮旁边,WireShark也提供了强大图形支持,可以点击Expression按钮进行选择表达式。同样,我们也可以输入表达式来进行过滤。显示过滤器语法、运算符等和捕获过滤器还有一定的差别。
  
  显示过滤器的语法也很简单,支持比较运算符。例如现在要查看长度小于128字节的数据只需要输入frame.len < 128即可。

1、比较操作运算符一览:

运算符功能
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于


2、逻辑运算符一览表

运算符功能
and逻辑与
or逻辑或
xor有且仅有一个满足
not没有一个满足


3、常用显示过滤器

过滤器功能
!tcp.port==3389排除RDP流量
tcp.flags.syn==1具有SYN标志位的TCP数据
tcp.flags.rst==1具有RST标志位的TCP数据包
!arp排除ARP数据包
http所有的HTTP流量
tcp.port==23 || tcp.port == 21文本管理流量(Telnet或FTP)
smtp || pop || imap文本email流量(SMTP、POP、或IMAP)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值