1 如何过滤报文
1.1 使用Capture Filter过滤报文
Capture Filter是指在捕捉时就对报文进行过滤,由此,Wireshark对不感兴趣的报文不再记录和显示。其优点是可以节省本地存储和显示资源,适合于报文数目过于庞大而对本地计算资源带来冲击的场合。
Capture Filter的使用方法
1. 选择Capture,在菜单中选择Option
2. 勾选想要抓取的网口,并在过滤栏写入过滤表达式,也可以使用Capture Filter中已经创建好的表达式。表达式的相关内容在后文叙述。
3. 点击Start开始抓取报文,可以看到抓取的报文中没有ARP报文,Capture Filter已经发挥作用。
1.2 使用Display Filter 过滤报文
Display Filter是指选将所有的报文都抓取到本地,然后使用过滤器找到感兴趣的报文。其优点是可以抓取到所有报文,适用于并不确定要抓取某种特定报文的场合。
在我们实际工作中,本地计算机的存储和计算性能都比较好,不太需要担心资源不足的问题,且大部分情况下需要抓取端口的所有报文以便于后续分析。所以,此种方法使用要较Capture Filter普遍。
Display Filter的使用方法:
1. 正常捕捉报文
2. 在过滤栏里填写过滤表达式,或者在Expression选项中编写自己需要的表达式。回车后就能立刻过滤出感兴趣的报文。
1.3 过滤表达式
我们通过在过滤栏中键入过滤表达式来过滤报文,所以了解如何正确使用Wireshark的过滤表达式十分重要。先来看一下Wireshark过滤表达式的语法:
l 点操作符
WireShark使用英文半角符号点“.”来表示层属关系。比如ip.addr就代表ip报文的地址字段,既包括源地址也包括目的地址;arp.dst.proto_ipv4就表示ARP报文的IPv4目的地址。
l 过滤比较操作符
- 过滤逻辑操作符
- 括号操作符
Wireshark允许用“[]”选择一个序列的子序列。
在熟悉了WireShark提供的操作符后,就可以书写确定的过滤表达式来过滤报文了。直接在过滤栏中键入正确的字符,下拉列表中会自动补全命令,有利于我们快速准确地找到字段。
至于各字段所代表的具体含义及格式,可以在Expression中找到。