【工具篇】04. 显示过滤器 ❀ 数据包分析工具 Wireshark

        【简介】如果打开的是软件抓包保存的文件,很显然只能用显示过滤器来进行过滤了。显示过滤器不会丢弃数据包,只是为了阅读方便而将一部分数据包隐然起来。


  过滤器表达式

  Wireshark 具备一些强大的特性,这些特性可以在创建过滤器时提供帮助。

        ① 点击显示过滤器右边的【表达式】。

        ② 在过滤器表达示窗口中,可以通过字段名称、关系和值,创建出各种过滤条件。这里打算过滤IP地址为192.168.38.26的所有数据包。

        ③ 生成的过滤条件自动显示在显示过滤器位置,点击向右箭头图标,执行过滤动作。

        ④ 可以看到过滤成功,非此IP的包都看不到了。

        ⑤ 过滤器表达式可以独立保存并快速使用。点击表达式右边的加号图标。给当前表达式添加一个标签,点击【OK】按钮。

        ⑥ 该表达式会以菜单的形式出现在界面上,只要点击表达式标签名,就会立即执行过滤。

        ⑦ 同样,保存的表达式也是可以进行管理的,点击显示过滤器左边的小图标,弹出菜单里选择【管理过滤器表达式】。

        ⑧ 过滤器表达式和过滤器一样也可以增加、删除、复制和修改。

  显示过滤器

        虽然过滤表达式可以快速的建立显示过滤器,但是复杂的显示过滤器还是需要手动输入,例如多个条件。有时候需要使用到比较运算符和逻辑运算符。

运  算  符描        述
== / eq等于
!= / ne不等于
< / lt小于
<= / le小于等于
> / gt大于
>= / ge大于等于

        ① 创建显示过滤器时使用的比较运算符。

运  算  符描        述
AND / &&如果希望表达式的几部分同时为真,就要用AND这个逻辑运算符来连接表达式的几部分。例如,使用ip src == 192.168.1.1 and tcp这个过滤器只会显示来自 ip 192.168.1.1,并且与tcp协议相关的数据包。只有同时满足这两部分的数据包,软件才会显示出来。
OR / ||如果只要求表达式中的其中一个条件为真,就要使用OR这个逻辑运算符。不过,几个条件同时为真,也满足表达式定义的标准。比如,port 53 或 port 80这个过滤器会显示与端口53(DNS)有关的流量,以及与端口80(HTTP)有关的流量。
NOT / !如果希望从显示的面板中排除满足某些条件的数据包,就要使用NOT这个软件运算符。比如,!dns这个过滤器会隐藏所有与DNS协议有关的数据包。

        ② 创建显示过滤器时使用的逻辑运算符。

        ③ 除了使用过滤器表达式,手动输入过滤器也可以大大提升网络的性能,输入时会有可用命令提示。

        ④ 使用比较运算符和逻辑运算符建立的显示过滤器。

        ⑤ 可以将经常用到的显示过滤器保存起来,点击显示过滤器左边小图标,弹出子菜单选择【保存该过滤器】。

        ⑥ 修改显示过滤器的名称,点击【OK】保存。

        ⑦ 点击显示过滤器右边的叉号图标,可以删除当前的显示过滤器。

        ⑧ 没有了显式过滤器后立即显示所有的抓包数据。

       ⑨ 点击显示过滤器左边小图标,弹出子菜单里可以快速选择保存了的显示过滤器。


一款改自IPHook的IP数据包监控过滤程序 By ccc 2009-6-13 完成(ch2zh1@tom.com) IP包过滤程序采用IPHook驱动器程序,在内核层用钩子回调函数(IpHookFilter)勾住系统自带的IP过滤驱动器(System32\Drivers\IpFltDrv.sys),从而返回过滤驱动器传输的所有IP包数据。可以通过回调函数的返回值(PF_DROP、PF_FORWARD、PF_PASS),指示滤波驱动器对包的处理,是抛弃还是通过。 应用启动驱动器过程可以使用驱动器的安装,或使用系统的服务控制器(ServiceControl)直接启动和停止驱动程序。 服务控制器利用OpenSCManager等服务控制函数控制驱动程序的加载与卸载。这就使得应用程序可以在运行时自动加载和卸载需要的驱动程序。而不必设置驱动程序的安装过程。 初始的IPHook.sys只提供了IP包的监视过程即,仅仅返回IP头信息。在应用中解释并显示这个头信息。经过写改的IPHook增加了对IP包的过滤处理,有几个设置命令: START_IP_HOOK :启动钩子过滤命令,建立连接IP滤波器的回调函数(原始命令) STOP_IP_HOOK :停止钩子过滤命令,撤销IP滤波器回调函数(原始命令) ADD_IP_HOOKADDR :添加过滤IP地址,回调函数判断IP包,以决定是放弃还是通过(新命令) DEL_IP_HOOKADDR :删除过滤IP地址(新命令) ADD_IP_HOOKPORT :添加过滤端口号(新命令) DEL_IP_HOOKPORT :删除过滤端口号(新命令) ADD_IP_OVER_HOOK :添加置换的IP地址,用于对指定目的的IP包置换源地址和端口号(New) DEL_IP_OVER_HOOK :取消IP地址置换。(New) 应用程序可一次设置和删除对个滤波地址和端口号。对于重复设置,IPHook可以正确识别并加以剔除。这是一个演示程序主要想说明windows2000驱动程序编程过程,及应用自动加载和卸载驱动的方。 驱动程序的源码在DrvChecked.rar中,要想正确编译,必须安装windows2000 DDK,并在VS2003下设置包含目录指向DDK的目录,库目录也要指向DDK的库目录: C:\NTDDK\inc C:\NTDDK\inc\ddk C:\NTDDK\libchk\i386 并且在排列上一定要排在头两个位置上。 这个驱动程序在VC++下是可以正确编译通过的。驱动程序名:DrvChecked.sys。使用时应该改为:iphook.sys。delphi下的应用程序为:IPPacketMonitor.exe,它使用IPHook.sys。 任何人可以自己编译和修改这个驱动程序,使之能够按照一定的方运行,这里给出的只是本人的一个想法,希望能给各位带来一点帮助。任何应用程序都可以想打开文件一样使用这个驱动程序,关于使用方法请参考Release Notes.htm提供的线索。 有什么问题和建议请电邮:ch2zh1@tom.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞塔老梅子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值