安卓app开发中使用 MITM proxy 进行抓包


一、安装 Mitmproxy

1. 使用 homebrew 方式安装

brew install mitmproxy

2. 或者使用python包管理安装

pipx install mitmproxy

更多方式参考 官网

二、 运行 mitmproxy

这里我使用 mitmweb 来启用插件,这样会打开一个默认的web页面,方便操作。

mitweb -web-port 8889 -p 8888
// -web-port 指定web端的端口,默认为8081,如果不需要改变端口可以忽略
// -p 代理监听端口

三、设置手机

可以是模拟器也可以是真机,在设置上并无本质上的差异,模拟器可以在菜单栏直接设置。

设置手机proxy地址为 当前电脑IP:8888 即可,此时就可以在打开的WEB端看见请求信息了。

四、配置HTTPS证书

前面步骤的设置并无法看见https的请求,这里我们需要手动导入证书,

  1. 打开手机浏览器(推荐使用chrome,其他浏览器可能会出现无法下载证书的情况。)
  2. 打开网址 mitm.it 此时即可看见证书下载页面,选择对应系统的证书即可

如果此时提示“无法安装该证书,因为无法读取证书文件”,可以直接去手机设置中的》
“凭证储存” 选择使用 “从储存设备安装”即可(不同版本系统的位置可能不一样,一般可以在系统安装中找到)

  1. 五、修改配置
    新版系统默认禁用了用户证书,我们需要手动开启。

  2. 创建文件 res/xml/network_security_config.xml 并填写如下配置:

    <network-security-config>
    <domain-config cleartextTrafficPermitted="true">
       <!-- 如果配置证书后无法连接 BUNDLE 服务,则需要对本地服务做单独配置 -->
       <domain includeSubDomains="true">localhost</domain>
       <domain includeSubDomains="false">10.0.2.2</domain>
       <domain includeSubDomains="false">10.0.3.2</domain>
       <domain includeSubDomains="false">192.168.11.11</domain>
    </domain-config>
    <debug-overrides>
       <trust-anchors>
          <certificates src="system" />
          <certificates src="user" />
       </trust-anchors>
    </debug-overrides>
    </network-security-config>
  3. 在 AndroidManifest.xml 中的 application 引入配置

    <application
    android:networkSecurityConfig=”@xml/network_security_config"
    ...
    >

    现在就可以正常使用SSL了。


Author: star
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source star !
 Current
安卓app开发中使用 MITM proxy 进行抓包 安卓app开发中使用 MITM proxy 进行抓包
一、安装 Mitmproxy1. 使用 homebrew 方式安装brew install mitmproxy2. 或者使用python包管理安装pipx install mitmproxy 更多方式参考 官网 二、 运行 mitmpro
2020-08-16 star
Next 
常见平台主色 常见平台主色
颜色 平台 #FF6805 淘宝 #09BB07 微信 #000000 抖音 #FF5000 快手 #FF2442 小红书 #FF0036 天猫 #E1251B 京东 #FC475D 拼多多 #E
2020-07-12 star
  TOC