Wireshark是非常著名的数据分析软件,我们首先需要下载安装wireshark并安装。下面介绍wireshark如何抓包分析网页视频特征,并写出L7的代码。
操作流程:
1. 启动wireshark,并找到需要抓取数据包的网卡,准备抓取;
2. 启动浏览器,并打开浏览视频的网页;
3. 在wireshark capture interface点击start开始抓取;
4. 视频浏览一定时间后,停止wireshark抓取,并分析数据,输入http.request get查找请求获取的链接,一般都是以.swf结尾
5. 分析类型链接的数据,多次对比,找到共同点,并编写L7正则表达式
一、启用wireshark。
2013-12-12 10:06 上传
通过列表可以选择我们需要抓取的数据包的网卡
2013-12-12 10:06 上传
二、开启浏览器,但不要播放视频。这里以www.qiyi.com为例
三、点击start按钮开始抓取,然后点击播放网页视频。
四、视频播放一段时间后,我们可以停止抓取数据包,分析数据包最重要的是刚开始向视频服务器申请获取视频的get或post参数,我们可以使用http.request get来查找,如下图
2013-12-12 10:06 上传
我们分析L7数据是从应用层开始,不管是游戏、还是视频,都不用考虑他们的frame、Ethernet、internet protocol和传输方式(TCP或者UDP),只从传输协议后分析,如视频,我们分析的是http传输协议
当然我们要找到的是视频文件,如.swf结尾的内容(有可能是mp4之类),其他jpg、js、png这些都不用考虑。上图中我们找到了一个相关匹配的GET值,我们可以看到主机向220.118.109.158的服务器获取一个.swf的flash视频文件,
2013-12-12 10:07 上传
内容如下:
继续找到相关内容:
2013-12-12 10:07 上传
这次我们获取到的有所不同
我们在用这样的方法对比多次这种视频的GET信息,几乎他们的连接内容都有以上的共同点
这样我们就可以开始抓取关键字,www.qiyi.com/player这些自动是固定的,然后是adplayer.swf或者qiyi_player.swf,这里我们只取.swf,那我们要包含的关键字有
GET + www.qiyi.com/player + .swf
最后我们写出以下L7的正则表达式代码
^(get|post) .+\www\ . \qiyi\ . \com\ / \player. +\ .swf
代码分析:
^ : 表示内容的起始
(get|post):中间的“|”标识get或者post
.+ :中间任意字符
\ : 将内容转换为字符
最后我们将代码简化为:
^(get|post) . +\qiyi\ . \com\ / \player. +\ .swf
这里没有包含www是因为可能服务器会更换其他的二级域名的可能,我们将代码添加入/ip firewall layer7-protocol
2013-12-12 10:08 上传
后面的就是你需要在iP firewall filter里做防火墙过滤,还是在iP firewall mangle里做流控等操作了
下面是几个视频网页的L7正则表达式
2013-12-12 10:06 上传