mitmproxy 的安装使用 与 模拟器上的证书配置

前言

        mitmproxy 是一个支持 HTTP 和 HTTPS 得抓包程序,有类似 Charles 和 Fiddler 的功能,不同的是它是一个控制台形式的操作。mitmproxy 有两个相关组件:mitmdump 是 mitmproxy 的命令行接口,可以对接 python 脚本,实现监听后的处理;mitmweb 是一个 web 程序,可以清楚观察mitmproxy 捕获的请求。

Charles 安装与配置:Charles 的安装与配置_Yy_Rose的博客-CSDN博客_charles证书

mitmproxy 的功能

  • 拦截 HTTP 和 HTTPS 请求和响应
  • 保存 HTTP 会话并进行分析
  • 模拟客户端发起请求,模拟服务器返回响应
  • 利用反向代理将流量转发给指定的服务器
  • 支持 Mac 和 Linux 上的透明代理
  • 利用 python 对 HTTP 请求和响应进行实时处理

MuMu 模拟器下载 

mitmproxy 的安装

证书配置

        mitmproxy 中想要截取 HTTPS 请求,就需要设置证书,mitmprxoy 在安装设置后会提供一套 CA 证书,只要客户端信任了 mitmproxy 提供的证书,就可以通过 mitmproxy 获取 HTTPS 请求的具体内容,否则 mitmproxy 无法解析 HTTPS 请求,启动 mitmdump 会产生 CA 证书:

Windows 

1. 打开文件夹资源管理器:C:\Users\Administrator\.mitmproxy

2. 点击 mitmproxy-ca.p12 进入证书导入向导,直接点击下一页

选择证书存储

 

3. 证书导入完成

弹出安全警告点击:是,即证书导入成功 

 

 

模拟器中配置安全证书

1. 将 mitmproxy-ca-cert.pem 直接拖拽到模拟器中,会自动保存至共享文件夹

2. 打开设置

 

2. 点击安全

 

3. 选择从SD卡安装 

4. 双击进入内部存储空间 

 

5. 进入共享文件夹,会在其中看到之前拖拽进入的文件 

 

6. 双击即可安装 mitmproxy 证书信任

 

7. 证书命名 

 

8. 设置→安全→信任的凭据→用户 中验证安装成功

 

mitmproxy 的使用 

  • cmd 中 输入 mitmproxy -p 8888 即可打开 mitmproxy,-p 为指定监听端口,更改监听端口可以避免端口被占用导致无法使用,因为手机端设置的局域网代理服务器端口为 8888,需要相对应:

在模拟器中打开任意网页或者APP,mitmproxy 即会监听到相应请求:

  • 左下角 2/18 代表一共发生了18个请求,当前箭头所指为第2个请求
  • 请求开头 HTTP/HTTPS 网络协议类型
  • GET/POST 为请求方式
  • 请求地址
  • 响应状态码
  • 响应内容类型
  • 响应体大小
  • 响应的时间

方向键或滑轮选中想查看的信息,回车进入,敲击 TAB 或者方向键切换选项卡,敲击 q 键返回

Request 请求信息 → Response 响应信息 → Detail 详细信息 

无法上网原因 

        设置好证书无法上网是因为没有打开抓包工具,手机和 PC 在同一个局域网内,设置代理为 mitmproxy 的代理地址,这样手机在访问互联网的时候流量数据会流经 mitmproxy,mitmproxy 再去转发这些数据包到真是的服务器,服务器返回数据包时再由 mitmproxy 转发回手机,这样 mitmproxy 就相当于起了中间人的作用,抓取到所有的 request 和 response ,如果设置了代理之后又不打开中间的抓包工具,客户端和web服务器无法进行数据传输:

总结

        以上为抓包程序 mitmproxy 的安装与证书配置,以及在模拟器上的证书设置,如有问题或建议,欢迎评论区指正交流~ 

        相关文章推荐:使用 mitmproxy + python 做拦截代理 | Wolfogre's Blog

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值