开源测试工具 Lyrebird 的 mitmproxy 设置本地 pc 机代理 firefox 或 chrome

老马 · 2018年07月18日 · 最后由 豆豆 回复于 2018年08月10日 · 1951 次阅读

原始需求:

  本司同学提出,lyrebird 既然可以各种手机终端如 ios android wp 系统被代理抓取网络请求,那么我们是否可以利用它来尝试抓取 windows 或 linux 下客户端程序的网络请求?

实验步骤:

本机系统 ubuntu18.04 desktop 版环境

1只开启有线网络,且设置了内网固定 ip。关闭无线 wifi,关闭 shadowsocks 等去掉一切可能冲突干扰。 

2启动 (Lyrebird) cmd@TR:~$ lyrebird v start
找到代理地址 ip:4272
将该 mitmproxy 代理地址配置到,ubuntu 系统里的,系统设置->网络->网络代理。如下图

3部署启动 lyrebird 后,该机器浏览器 Firefox 或 Chrome 访问 

Firfox 访问:

本机 firefox 访问 http://mitm.it/ 
点 other 后

在 fifrefox 的 首选项->隐私与安全->查看证书->证书颁发机构,下可以找到 mitmproxy 该证书名称。也可在此删除证书。

Chrome 访问:

本机 Chrome 访问 http://mitm.it/ 后

应该可以参考如下帮助 给 ubuntu 下的 chrome 或 ubuntu 整个系统,来添加对应的 chrome 浏览器证书或整个机器的全局证书。
https://docs.mitmproxy.org/stable/concepts-certificates/

以下是如何给 ubuntu 系统添加全局证书
https://askubuntu.com/questions/73287/how-do-i-install-a-root-certificate/94861#94861

默认启动 Lyrebird 的 mitmproxy 后,在 ubuntu 下保存证书的路径。

cmd@TR:~/.mitmproxy$ ls -al
总用量 32
drwxrwxr-x  2 cmd cmd 4096 7月  17 10:01 .
drwxr-xr-x 84 cmd cmd 4096 7月  17 14:29 ..
-rw-rw-r--  1 cmd cmd 1318 7月  17 10:01 mitmproxy-ca-cert.cer
-rw-rw-r--  1 cmd cmd 1140 7月  17 10:01 mitmproxy-ca-cert.p12
-rw-rw-r--  1 cmd cmd 1318 7月  17 10:01 mitmproxy-ca-cert.pem
-rw-rw-r--  1 cmd cmd 2529 7月  17 10:01 mitmproxy-ca.p12
-rw-rw-r--  1 cmd cmd 3022 7月  17 10:01 mitmproxy-ca.pem
-rw-rw-r--  1 cmd cmd  770 7月  17 10:01 mitmproxy-dhparam.pem

抓取测试:

 firefox 浏览器打开百度测试,可抓到请求;

 本机打开的网易云音乐客户端 linux 版的,也可抓取到请求;

 chrome 浏览器打开百度或其它网页则无请求抓到(因为还未正常给 chrome 安装代理证书)

结论:

  所以以上证明,本地 pc 机启动 lyrebird 的代理 mitmproxy,本地浏览器安装好证书。 是可以实现对本机客户端程序(有网路请求的比如网易云音乐这种)进行代理抓取的!!!
我们也可以利用 lyrebird 来测试 windows10 或 linux 或 mac 系统下的,各种客户端程序的接口 API 了。

疑问:
mitmproxy 证书应该是分为浏览器级别的和本机系统全局级别的。
若想让本机系统所有的程序的网络请求都被抓取,应该参考https://docs.mitmproxy.org/stable/concepts-certificates/ 
给本机系统 windows 或 ubuntu 或各种 linux,来安装 mitmproxy 代理。

mitmproxy 支持的协议 
https://docs.mitmproxy.org/stable/concepts-protocols/

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 1 条回复 时间 点赞
老马 美团琴鸟 Lyrebird 工具 (接口 mock 类) 中提及了此贴 07月25日 15:49

666,正想搞一波这个,但是我这边出现了抓不到的情况,试试这个方法。谢谢楼主。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册