在捕获数据包时,用户有时需要精确到一些值,需要对某个字节或者字节中某一位,数据包值过滤器就可以完成。数据包值过滤器属于高级过滤器,其主要用于捕获某种特殊应用的数据通讯。下面我们来详细介绍数据包值过滤器。
科来网络分析系统中,数据包值过滤器相对与地址,协议和端口过滤器是一种高级过滤器。设置界面如下图1,
图1 数据包设置界面
图1中可以看到,在数据包值过滤器中有很多设置选项:
我们在使用数据包值过滤器时,一般是在数据包解码视图中的某个值生成过滤器,我们也可以在高级过滤器中的数据包值过滤器中添入相应的数值。
下面就来具体应用一下,比如我们想学习tcp三次握手的第一步,捕获tcp同步数据包。
我们需要知道tcp同步数据包的特征:tcp标志位在ethernet ii数据包中的偏移量是47(ethernet ii报头14,ip报头20,tcp源端口2,tcp目标端口2,tcp序列号4,tcp确认号4,tcp偏移量1,即14 20 2 2 4 4 1=47)。tcp标记位中同步位为1的数据包,就是tcp同步位置包,下面是一个tcp同步数据包的解码图(只截取了tcp标志部分),可以看到,tcp同步数据包的值是tcp标志位的值是10(二进制)或02(16进制)或2(10进制,8进制)。设置如下图2,
图2 tcp同步数据包
图2就是捕获tcp同步数据包的数据包值过滤器,我们通过访问网页,捕获结果如下图3,
图3 捕获数据包情况
图3中显示的为我们捕获的结果,捕获到的几个数据包都是同步数据包。
除了上面添加数据包值过滤器的方法外,我们还可以在数据包解码视图中,直接生成过滤器,如下图,
我们可以直接选择同步位,右键直接生成过滤器,这样比较方便。在导入数据包文件时的二次过滤器中也非常有用。