爬虫抓包工具总结
作者从事爬虫工作已经2年有余,对于爬虫颇有感触,其中最深的就属于抓包了。只有找到数据API才有机会去解决怎么模拟甚至破解。下面就自己的经验做一个小结,希望对你们有所帮助
由于作者没有使用Mac电脑开发所以就略过
工具集合
- Fiddler(windows强推,因为作者之前是win电脑开发)
- Charles (用的少,就不详细介绍)
- mitmproxy (配合python脚本有奇效)
- Chrome/Firefox
- wireshark
详细介绍
Fiddler
- Windows
- Fiddler 在windows上是一个十分强大的工具,详细教程在网上都可以搜到,这里就不做介绍了。提示一下:注意配置,仔细一点很轻松能解决
- 经验总结:
- web:
- 我的个人习惯是拿到网站第一时间打开fiddler,然后开始访问网站,之后去Fiddler搜索当前网页任意一个标注性文字或者数据,找出数据所在位置,分辨其存储方式是html,js,json还是其他。以便针对处理。
- 打开postman或者新建test.py,模拟发送查看是否需要前置请求,或者是否有cookie或者参数是一次性。cookies可以使用chrome插件EditThisCookies分辨。如果可以那就恭喜你开始逐步破解那些重要参数,如果不行,那你就首先需要找出重要参数,然后使用重要参数去Fiddler搜索,或者重新抓包一次,认真观察数据包的出现时机,以便逐步找出所有请求步骤
- 找出所有请求步骤之后,那么接下来就很刺激了,就是需要你去判断哪些参数很重要,以及分析他们的生成方式(本地生成、服务器返回)。如果是服务器返回,那么在上一步就基本解决或者按照上一步步骤来做。如果本地生成那就按下一步
- 打开chrome调试模式,找出当前参数的key,去chrome里面search all。此时也需要你分析这个key是如何生成的。前端断点调试了解一下(我也是疯狂骚扰有个漂亮的前端小姐姐跟她学的)
- 到这里基本上就解决了,更详细的以后有机会我会录个视频详细介绍思路
- APP:
- 使用Fiddler抓包找出API位置,然后按照web端来做就行了
- 注:有些app你可能需要一步root过的安装Xpost的手机
- web:
- Ubuntu
- 通过mono安装fiddler
- 可能出现证书安装不上的问题,导致web不能抓取https
- 解决办法:使用charles +Firefox (亲测)或者 安装FiddlerEverywhere(Linux版本,功能少很多)Fiddler-everywhere
- 可能出现证书安装不上的问题,导致web不能抓取https
- 通过mono安装fiddler
mitmproxy
- 十分强大的工具,包含mitmproxy/mitmdump(配合脚本执行)/mitmweb。在windows中只能使用后两者。
- 具体怎么使用不做详细介绍,就举一个例子:作者通过手机抓包找到了数据的位置,经过分析之后确定了最终的API,但是有一个问题,在请求的过程中有一个重要的参数是通过服务器返回的,而且还是一次性的,那么该怎么解决呢?两种方式:第一破解app,涉及逆向工程,就不做介绍了。第二种,拦截数据包,获取关键参数,然后自己伪造请求获取数据。这时候mitmdump +
python脚本就排上用场了,卖个关子,想知道怎么使用的欢迎留言,后期作者会看情况录视频或者文字介绍。
chrome/Firefox 开发者模式
- 十分好用,对于js逆向十分强大
wireshark
- 一个基于网卡的数据包分析工具,作者正在学,后期或出一篇单独的详细教程
本文是作者两年爬虫工作的抓包工具总结,包括Fiddler、mitmproxy、Chrome/Firefox开发者模式和wireshark的使用,强调了在抓包过程中如何定位数据API,解决模拟请求的问题。
1807

被折叠的 条评论
为什么被折叠?



