Wireshark——过滤器使用

使用wireshark提供的过滤功能,可方便查看、分析自己想要的数据。wireshark的过滤器,分为捕获过滤器和显示过滤器。

捕获过滤器:当进行数据包捕获时,只有那些满足给定的包含/排除表达式的数据包会被捕获。

显示过滤器:该过滤器根据指定的表达式用于在一个已捕获的数据包集合中,隐藏不想显示的数据包,或者只显示那些需要的数据包。

下面分别介绍两种过滤器的使用。

一.捕获过滤器

捕获过滤器:当进行数据包捕获时,只有那些满足给定的包含/排除表达式的数据包会被捕获。

1. 示例:捕获通过端口11223的数据

示例wireshark版本1.8.7

1)打开wireshark,选择Capture->Interfaces,结果如图:

2)点击上图的Option,结果如图:

3)双击你要监测的网卡,结果如图:

4)在Capture Filter一栏中输入“port 11223”,如图:

5)点击OK后,再点击“Start”,即开始捕获通过11223端口的数据包。

6)捕获结果,如图:

2. 捕获过滤器的BPF语法

捕获过滤器应用于WinPacp,并使用Berkeley Packet Filter(BPF)语法。这个语法被广泛用于多种数据包嗅探软件,主要是因为大部分数据包嗅探软件都依赖于使用BPF的libpcap/WinPacp库。掌握BPF语法对你在数据包层级更深入地探索网络来说,非常关键。

上面实例中,在在Capture Filter一栏中输入“port 11223”即采用的BPF语法。

使用BPF语法创建的过滤器被称为表达式,并且每个表达式包含一个或者多个原语。每个原语包含一个或者多个限定词,然后跟着一个ID名字或者数字。

                       一个捕获过滤器样例

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

 

 

 

 

 

 

可以使用与(&&)、或(||)、非(!)三种逻辑运算符。

2. 应用场景

1. 主机名和地址过滤

示例:src host 192.168.5.6,捕获来自192.168.5.6的数据包

           host PC-TEST,捕获与计算机名为PC-TEST交互的数据包

2. 端口过滤

示例:port 8080,对8080端口进行数据包捕获

           !port 8080,捕获除8080端口外的所有数据包

3.协议过滤

示例:icmp,捕获icmp数据包

           tcp,捕获tcp数据包

4.协议域过滤

示例:icmp[0]==3,只想要得到代表目标不可达(类型3)信息的ICMP数据包。

BPF语法提供给我们的一项强大功能,就是我们可以通过检查协议头中的每一个字节来创建给予那些数据的特殊过滤器。

举例来说,假设我们想要基于ICMP过滤器的类型域进行过滤,而类型域位于数据包的最开头也就是偏移量为0的位置,那么我们可以通过在协议限定符后输入由方括号括起的字节偏移量,在这个例子中就是icmp[0],来指定我们想在一个数据包内进行检查的位置。这样将返回一个1字节的整型值用于比较。

二.显示过滤器

显示过滤器:该过滤器根据指定的表达式用于在一个已捕获的数据包集合中,隐藏不想显示的数据包,或者只显示那些需要的数据包。

1. 示例:只显示与IP地址10.25.193.12相关的数据

显示过滤器应用于捕获时或者捕获后,告诉Wireshark只显示那些符合过滤条件的数据包。你可以在Packet List面板上方的Filter文本框中,输入一个显示过滤器(本例为ip.addr==10.25.193.12),然后点击“Apply”,如图:

2. 过滤器表达式

显示过滤器示例

1)ip.addr==192.168.5.6,只显示192.168.5.6这个地址相关数据包

2)frame.len<=128,只查看长度小于128字节的数据包

3)http,只显示http数据包

4)ip.addr==192.168.5.6 && tcp.port==15566,只显示与192.168.5.6有关且与tcp端口15566有关的数据包

可点击Packet List面板上的Expression按钮查看所有的表达式选项,如图

 

可在该面板直接点击,进行表达式的书写。

此外在Packet List内输入关键字后,再输入“.”可查看可选项

 

### Wireshark 中 MySQL 过滤器的配置与使用 在处理Wireshark中MySQL过滤器无法正常使用的问题时,需了解几个关键方面。确保捕获设置正确以及理解特定于MySQL的数据包筛选语法是解决问题的核心。 #### 正确配置Wireshark以捕捉MySQL通信数据 为了能够有效利用MySQL显示过滤器,在启动数据包捕获前应确认已选择了适当接口并设置了必要的捕获选项。如果目标是在局域网内监控数据库服务器活动,则应当指定涉及的相关主机或子网范围[^1]。 对于MySQL流量而言,默认情况下其服务监听TCP端口3306;因此可以考虑采用如下方式限定捕获范围: ```bash tcp port 3306 ``` 这将仅限于记录进出此端口号上的通讯会话,从而减少无关噪声干扰最终分析过程。 #### 使用恰当的显示过滤表达式 一旦完成初步的数据收集工作之后,下一步就是应用合适的显示过滤条件来聚焦感兴趣的事件。针对MySQL协议层面的操作,可借助内置的支持功能实现精细化检索。例如要查看所有的查询语句执行情况,可以用到`mysql.query`字段匹配机制[^2]。 然而当发现某些预期之外的行为发生——比如自定义创建的过滤规则未能生效——可能是因为版本兼容性差异或是具体命令格式不被识别所引起。此时建议参照官方文档说明调整参数组合形式,并尝试更新至最新稳定版程序环境以便获得更广泛的功能支持和错误修复补丁集合[^3]。 另外值得注意的是并非所有类型的SQL指令都能直接经由简单字符串模式进行定位提取,特别是那些嵌入了特殊字符或者采用了预备编译特性的情况。面对这类复杂场景则往往需要依赖更加高级别的解析技术手段来进行深入挖掘研究。 #### 解决方案总结 - **验证捕获设置**:确保正在监视正确的网络接口并且已经指定了适当的BPF(Berkeley Packet Filter)表达式用于限制输入源。 - **检查Wireshark版本**:保持应用程序处于最新的发行状态有助于规避潜在缺陷影响核心业务逻辑正常运作。 - **查阅手册资料**:遇到难以解释的现象时不吝寻求帮助,访问开发者社区论坛分享经验心得亦不失为一种高效的学习途径。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值