找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 32682|回复: 41

[基础] l7-filter教程

  [复制链接]
发表于 2010-10-6 18:17:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
一、抓包篇
过滤器指定本机ip
图片1.jpg

开启应用,全局抓包
图片2.jpg
相当多的http包,这是刚刚开启ppstream的一些广告和贫道信息的链接。

随便开个频道看电视,重新启动一个wireshark进程
图片3.jpg
小部分的http包和大部分的udp包。
注意:抓包时注意不要开其他程序,避免其他进程的干扰。


二、分析数据包篇:
前面提到已经抓取了ppstream开启某个频道后的数据包,接下来的步骤是对数据包进行分析。
随便挑选一个数据包,数据交换部分的数据包。
图片4.jpg
记录目的ip地址为61.147.114.38

过滤器中追踪该ip地址
图片5.jpg
得到了本地ip和远程目的ip之间所有的交互过程
分析第一个包的应用层内容
图片6.jpg
说明:这是一个pps协议的连接的握手包。这个包有明显的数据特征就是数据包中含有“pps”,但是不能直接过滤“pps”,会导致pps网站都打不开。

4、重复步骤1,再换个ip
图片7.jpg
看到首个通讯包的内容,相差不多。
大致为:
5400434671ff000100010047007070733a2f2f68776a78656a77716561366e6e756a7a326171612e7070732f3130303933302dd6edccecc9fac1bdccf5cdc8c1b7becdb5b9c1a2d0d0d7df2d616877732e776d76

TCFqGpps://hwjxejwqea6nnujz2aqa.pps/100930--ahws.wmv
从这里可以看到,pps://hwjxejwqea6nnujz2aqa.pps/100930--ahws.wmv后面拖的这一串肯定是获取的视频的文件,而前面的5400434671ff00010001004700正是ppstream应用层的数据包。可以类比于http的get或者post。

不断重复过程1、2、3,对比这段数据包的内容,终于可以发现,有一项是固定不变的那就是XX0043XXXXXXXX......,00不能作为特征,因此pps的特征即为第二个数据包为43。
^.\x43不能写成这样的L7表达式,因为必然会引起误杀,存在其他大量的数据包都有可能第二个数据包为43,因此后面还有再加内容。之前提到ppstream获取的视频内容信息总是以pps的协议连接,因此ppstream的表达式为^.\x43.+pps

综上,pps的表达式就出来了。有少量的频道走http,因此我又加了后面这段,^(.\x43.+\x70\x70\x73|get.+User-Agent: PPStream\-Client/1\.0)可确保pps的所有频道均被拦截。

三、调试篇:
调试的目的是为了确定分析数据包篇的步骤5,也就是在可能的数据包中确定应用层特征。
我通常采用的办法是:
前提:
首先通过几组数据包类比的方法,大致确定可能的特征值。
单点确定
也就是一个字符一个字符的确定。
如这串5400434671ff00010001004700字符
编写测试pat,^\x54。查看能否进行拦截,如果封堵了视频,则证明第一个字符为54;如果没有封堵视频,则证明第一个字符不仅仅是54,还可能存在其他字符,甚至是随机字符(当然测试过程需要不断查看各个频道,这是视频工具的难点所在)。第一个字符确定后,再尝试第二个字符43(如确定第一个字符为54,则pat为^\x54\x43,如不确定第一个字符为54,则pat为^.\x43)(.代表任意一个普通字符)。
以此类推,直到不会造成漏杀和误杀为止。

特殊符号应用
即(. ? +的用法)
如这串5400434671ff00010001004700字符
我不能确定第二个00是否为固定值00,或者是可能存在其他值(测试时没有尝试所有频道的前提下),这时可以把pat写成^..?\x43,意思就是第二个字符为43或者第三个字符为43。同样的道理,上面提到在不确定第一个字符是否一定为54的时候,可以用.来代替。

正则表达式debug
正则表达式描述数据包的能力非常强大(可参考30分钟教程),不仅可以描述静态数据包,还可以描述变化的动态数据包。
如这串5400434671ff00010001004700字符
如果第一个字符除了54之外,还有53,但是没有其他的字符了。而且无法确定第一个字符可以作为特征的情况下,可以把pat写成^[\x53\x54]。并作测试来确定第一个字符是否为53/54,或者第一个字符无法描述pps的特征。其他常用的有()、\、后向引用等。

四、pps效果篇
pat内容
图片8.jpg
Iptables规则

可以明显看到匹配被DROP的数据包
图片9.jpg
Pps效果
图片10.jpg
routeros
 楼主| 发表于 2010-10-6 21:25:58 | 显示全部楼层
啊,没人看?
routeros
回复

使用道具 举报

发表于 2010-10-6 21:32:51 | 显示全部楼层
刚刚学习了一下,不错的说
routeros
回复

使用道具 举报

发表于 2010-10-6 23:47:39 | 显示全部楼层
GOOD,迅雷也抓的到嗎?
routeros
回复

使用道具 举报

发表于 2010-10-7 00:19:27 | 显示全部楼层
你转的PPS的代码,不行哈。
routeros
回复

使用道具 举报

发表于 2010-10-7 00:43:59 | 显示全部楼层
楼主.这就是您说的《重量级教程》吗? 支持一个!
routeros
回复

使用道具 举报

发表于 2010-10-7 08:29:36 | 显示全部楼层
最好大家都来研究下
routeros
回复

使用道具 举报

发表于 2010-10-7 10:29:59 | 显示全部楼层
教程终于来了,还没看,先顶一个~
routeros
回复

使用道具 举报

发表于 2010-10-7 17:26:24 | 显示全部楼层
教程终于来了,还没看,先顶一个
routeros
回复

使用道具 举报

发表于 2010-10-8 11:38:07 | 显示全部楼层
好教程,顶起来再说。
routeros
回复

使用道具 举报

 楼主| 发表于 2010-10-8 14:15:08 | 显示全部楼层
排版效果好像差了点,我的word版本又发不上来,不知道为什么。将就着看吧。
所有人都可以尝试下抓包,会是一个很有趣的过程。
routeros
回复

使用道具 举报

发表于 2010-10-9 08:33:47 | 显示全部楼层
太强了,,呵呵,,原来自己分析的和这个差太多了,,呵呵呵~~
routeros
回复

使用道具 举报

发表于 2010-10-9 23:59:52 | 显示全部楼层
软件是哪个
routeros
回复

使用道具 举报

发表于 2010-10-11 19:25:51 | 显示全部楼层
教程不错..顶顶.
routeros
回复

使用道具 举报

发表于 2010-10-12 19:54:17 | 显示全部楼层
我要下载~~~~!!!
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-23 17:08 , Processed in 0.067285 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表