之前的抓包入门(一)里大致地介绍了使用浏览器进行抓包的操作方法。
使用浏览器控制台进行抓包能够方便快捷地抓取网页加载中产生的数据内容,却无法抓取一些第三方软件的数据。
以下拿搜狗壁纸这款软件开刀,演示一下第三方软件的抓包方法[aru_36]
准备工作
在开始抓包前最好退出一些与之无关的软件,以免产生干扰。
然后打开 SRSniffer(网络嗅探器),点击左上角的 >
按钮,启动对网络的监听。
* 抓包软件多如牛毛,这里推荐 SRSniffer 是因为其操作简便,绿色免安装,推荐新手入门学习使用。SRSniffer 可以在左侧的列表中指定进程进行监听,但实测有时会漏掉数据,所以一般直接选择监听全部进程比较好。
准备妥当后再启动我们今天抓包的对象:搜狗壁纸客户端。
可以看到,软件主界面右上角有个搜索框,今天咱们就来把这个搜索接口抓出来。[aru_126]
开始抓包
我们在搜索框里随便输入个关键词,然后点击搜索。
不出意外的话,就可以直接在 SRSniffer 的主界面里看到所有的数据请求信息了![aru_120]其中自然也就包括了我们想要的搜索接口。
数据筛选
要从这么多请求信息中筛选我们想要的搜索接口,其实很简单……直接靠瞎猜就行了![aru_62]仔细观察数据列表中的条目,后缀名为 .gif 和 .webp 这类图片格式的肯定不是我们想要的。
而中间的这条,从地址上来看,就很像!既有 so(搜索),又有 query(查询),还有 word(关键词)……[aru_23]
- http://so.bizhi.sogou.com/query?word=%D3%A2%D0%DB%C1%AA%C3%CB&h=8E616FB8D61F47C3AE14C5526612B138&v=2.5.2.2510&r=0000_sogou_wallpaper_2.5e&rreal=0000_sogou_wallpaper_2.5e&rov=6.2.16299_1_48&ov=6.2.9200_0.0_1_256_48&u=&width=1366&height=768&auto=0
复制到浏览器地址栏打开,果然出现了我们想要的数据![aru_36]
为了方便下文的描述,我们将此接口称作"接口一"
可以看到,接口一中,提供的图片地址并不是完整的。只有图片的文件名部分……
数据补全
想要获取完整的图片链接,其实很简单:我们只需点击下载任意一张壁纸,它的链接组合方式必会暴露出来[aru_13]
果不其然:
从抓取到的数据来看,软件首先访问
- http://download.bizhi.sogou.com/download.php?id=壁纸图片的ID
然后再被重定向到真实的图片地址。
为了方便下文的描述,我们将此接口称作"接口二"
这里的壁纸图片 ID 就是接口一返回的 aa
子键中对应的数字:
接口整理
可以看到,我们最先抓取到的接口一,除了传递的查询参数word
,后面还跟了很多杂乱无章的数据。
这些数据一般是向接口方提供客户端版本等信息以便于统计的。如果我们要使用这些接口,这部分内容都没必要加上。
可以尝试一点一点的删除这些参数,在接口还能正常返回数据的前提下尽量把接口进行“精简”。
最终精简后的接口如下:
- http://so.bizhi.sogou.com/query?word=要搜索的关键字(需进行url编码)
意外收获
尝试将接口一进行“精简”后,反而产生了一个意外收获:精简后的接口一里直接就返回了真实的图片地址……
那就意味着我们再也不需要通过接口二来获取真实的图片地址了,只需将新的接口一中返回的 ae
中的键值再加上图片根路径 http://img.bizhi.sogou.com/images/
就能直接获取完整的壁纸图片 url[aru_43]
比如说,以上红色框中的图片真实地址就是:
- http://img.bizhi.sogou.com/images/2013/11/14/408497.jpg
后记
可以看出,“抓包”不仅仅是“抓”这么简单,还要对抓到的数据进行猜测、分析,最终才能得出真正想要的内容。
本文为了方便新手理解,特意挑选了“搜狗壁纸”这款未对接口作任何加密措施的无套路且便于分析的例子进行演示(因为搜狗壁纸很久没更新了)[aru_3] 现在新出的一些软件,一般都会对接口进行加密处理(如查询关键字采用某种算法进行加密、每次请求都带上token等)总之没本文演示的那么容易[aru_49]
最后附上本文所用的抓包软件 SRSniffer 下载地址[aru_47]
本文作者为mengkun,转载请注明。
皮皮
老哥,强 且 皮的很~~
抓包基本千篇一律 难的是某些参数的加解密 需要抓到相应js代码找到相应加解密函数 这个是最难的~~
这个小工具是看雪论坛SupRole网友发布的,不知为什么突然间就不更新了,离最近的更新已经有五年多了
@小红鱼在实用性方面,这个工具做得已经很好了,也没必要更新。如果要更强大的抓包工具,就干脆使用 Fiddler
学习了
图片根路径 http://img.bizhi.sogou.com/images/这个怎么得来呢?
感谢分享,学习了
说话这个:word=(需进行url编码) 是怎么编码的,好像不是单纯的encode
@浩大大urlencode
@mengkun额。。。不是这个问题,我看到你的word用的是%D3%A2%D0%DB%C1%AA%C3%CB
,然后返回的是英雄联盟。但是这个明显不是urlencode出来的结果。
@浩大大这是 GB2312 的 url 编码。不是 UTF-8 的 url 编码
@mengkun感谢,已经开始抓图了。美滋滋 查看图片
@浩大大[强][强][强]
@mengkun哈哈,壁纸不愁啊 查看图片
感谢博主,看了你的很多帖子,一直在学习
我微笑着看完了!有微笑着评论了
大佬有没有 联系方式 ,想请教很多问题。[aru_72][aru_72]
确实呢,之前有时候是打不开的。
话说前几天一直不能访问,是你的问题还是我的问题[aru_97] 持续了一个多星期[aru_93]
@阿珏一定是你的网络问题[aru_3]
考虑到要自己动手,我就不往下看了[aru_38]
期待加密接口教程
请大佬使用Onedrive For Business 谢谢!:)
表情怎么没了orz
@惶心国产万岁![aru_3]
@mengkun#[滑稽]考虑到速度/下载难易度,我选择了微软...