当前位置: 首页 > 科技观察

给你一个Wireshark的抓包过滤器

时间:2023-03-18 14:52:23 科技观察

上篇文章《我是如何使用wireshark软件的》介绍了wireshark的使用,提到了显示过滤器和抓包过滤器,重点介绍显示过滤器,本文将主要介绍抓包过滤器设备。这里再说明一下两者的区别,需要看显示滤镜的同学请看文章《我是如何使用wireshark软件的》。捕获过滤器:执行数据包捕获时,只有那些满足给定的包含/排除表达式的数据包才会被捕获。显示过滤器:该过滤器用于根据指定的表达式隐藏一组捕获的数据包中不想显示的数据包,或者只显示那些需要的数据包。01简介首先了解为什么需要捕获过滤器。比如在一台服务器上(TCP服务器,5005端口),一个客户端(另一家公司的设备)跑了几天,突然就下线了。这个时候不清楚是服务端把客户端踢下线了还是客户端主动下线了。当然,这时候只要在服务器上增加一条日志记录,就可以找到“真凶”了。如果对方设备主动下线,对方不配合,则对方“不相信你的日志”。这时候用wireshark抓包,先找出对方设备(TCPClient)发来的FIN断开的证据,再“甩”他的脸。其实我在《我是如何使用wireshark软件的》一文中也提到了上述场景的解决方案,采用了显示过滤和定时保存的策略,但是这样会导致几天的抓包抓包文件很大。捕获过滤可以解决这个问题。如何使用capturefilter1、选择capture->capturefilter,然后编辑一个新的capturefilter选项:名称为“port5005”(名称可以根据自己的需要),过滤器为“port5005”。2、在开始界面选择网卡,然后点击②,选择上一步新建的输入捕获条件。3、开始抓包选择并输入抓包条件后,如下图,直接双击网卡即可开始抓包。02BPF语法捕获过滤器应用于WinPcap并使用BerkeleyPacketFilter(BPF)语法。这种语法在各种数据包嗅探软件中被广泛使用,主要是因为大多数数据包嗅探软件依赖于使用BPF的libpcap/WinPcap库。掌握BPF语法是在数据包级别更深入地探索网络的关键。使用BPF语法创建的过滤器称为表达式,表达式包含一个或多个原语。每个原语包含一个或多个限定符,后面跟着一个ID名称或编号,例如:BPF语法还支持以下逻辑运算符,以便创建更高级的表达式。连接运算符和(&&)选择运算符或(||)否定运算符不(!)示例:src192.168.0.10&&port5005以上表达式仅针对源地址为192.168.0.10且源端口或目的端口为5005的流量为捕获。03过滤实例常用过滤实例注意上面提到的逻辑运算符的灵活使用。