之前一直用 charles 抓包, 但 charles 是收费的还得破解。 无意中发现 mitmproxy 挺好用的,免费,跨平台 (windows, linux, mac),命令行界面看着很爽。
安装
brew install mitmproxy
执行 mitmproxy 启动, 也可用 mitmproxy -p 8888 指定端口号, 默认监听在 8080 端口。
android 自带模拟器配置代理
- 在设置中依次 settings->more->cellular network->access point names 编辑 Access Point 设置 proxy和 port
- 在开发者设置中找到 configuring the device to use the legacy DHCP client instead of the new one. 设置为 on
- 在通知栏打开飞行模式,然后再关闭,之后就可以连接上代理了
现在就可以抓取 Http 请求了, 要抓取 Https 还得安装证书
在线安装证书,手机浏览器访问 http://mitm.it (选 Android)
手动拷贝安装
从浏览器下载安装最简单,也可手动安装, 先把证书拷贝到手机里,在从 settings -> Security -> Install form SD card 选择证书安装
证书默认放在 ~/.mitmproxy/ 下面
mitmproxy-ca-cert.cer 和 mitmproxy-ca-cert.pem 是一样的,选一个安装在 Android 上就行。
IOS 模拟器配置代理 及 安装证书
IOS 模拟器走的是系统代理,所以直接配置系统代理就行了
安装证书同上,safari 访问 http://mitm.it , 选择 Apple 一路下一步
这样还不行,还得在 Setting -> About -> Certificate Trust Settings 中激活安装的证书才行
Genymotion 代理配置及证书安装
代理配置都一样,修改 Wifi 配置
这里要注意,代理服务器 IP 要设为 10.0.3.2
安装证书也一样,在线或手动
手动安装依次选择 设置 -> 安全性与位置信息 -> 加密与凭证 -> 从 SD 卡安装
小米手机代理配置
代理IP 设置一样,修改 WIFI 配置
手动安装时依次选择 设置 -> 更多设置 -> 系统安全 -> 加密与凭证 -> 从存储设备安装
其实都差不多,安装配置很简单, Fiddler , Charles 也都一样