后来发现挺多人对 Fiddler 的使用体验感到抓狂的,时不时就有人问我为啥代理了 Fiddler 之后,手机就他妈的无法上网了呢?为啥 Https 总是上不去?我也总是只能这么说:要不您再多折腾下,多配置一下,多重启几次看看?这总有一种让我产生一种 “都把我肚子搞大了你说不关我事” 的愧疚感。这样的愧疚感还不止一次,比如说公众号之前写的一些爬虫的实战教程,就是一顿花里胡哨的演示,当时可觉得厉害了,可后来人家把一些页面的请求规则给改了,所以你现在再去运行那些代码,有些就会报错,然后就有人来找我说,这代码有问题啊靠。我只能说:要不您再解析一下页面的请求规则,改完了顺便给我提个 PR?你看,这又让我产生了些许 “你把我肚子搞大了还踹了我一脚说孩子以后归你” 的愧疚感。我又不可能花大把时间在线性感远程给你跳钢管舞调BUG,不过话说来也是有些许无奈的,这锅,甩到我这里来我也只能拿它来煎两个鸡蛋,一个蘸着酱油一个蘸着芥末吃...今天就再给你分享最后一个抓包工具,以后谁在问我 Fiddler 的垃圾配置问题,我就把这篇的链接甩给他,顺便告诉他:天涯何处无芳草,何必单恋 Fiddler?恩,今天要给你分享的就是阿里开源的抓包工具,叫做 AnyProxy,这名字听起来就挺屌,不是么?由于这玩意是基于 Node.js 开发的,所以你要安装它之前,先在你的电脑把 Node 给装了,安装完之后使用 npm 去下载一下:
npm install -g anyproxy
安装完毕之后,你就可以在你的终端输入 anyproxy 来启动它了:
这时候它会监听 8001 端口,你代理的时候设置 8001 端口它就可以抓取你的上网数据了,可以在你的浏览器输入 127.0.0.1:8002 来访问你的请求数据:
比如你要抓取你手机上的访问数据,那么就在手机的 WIFI 那设置一下代理,先看下你电脑的 ip 地址:
然后在手机上设置代理的时候把 ip 地址和端口带上就可以了:
不过现在的它只能抓取 Http 数据,想要抓取 Https 数据就给你的手机装上证书,很简单,输入你的电脑端的 ip + 端口 + 生成的证书文件,比如我这就是:http://192.168.1.104:8001/fetchCrtFile接着手机允许下载证书之后,在设置通用里面安装和信任就可以使用 Https 了:
这时候在手机上的所有 Https 请求就可以被抓取到了:和 mitmproxy 一样,它还可以代理 websocket 等操作:
具体可以查看这个文档:https://anyproxy.io
扫一扫
学习 Python 没烦恼