相信大家在实际 的生产过程中都会有用到抓包这样的操作;
对于 http 的抓包没啥说的 网上一大堆;工具呢 HTTP 常用的 这里推荐 Charles 和 Fiddler; 至于安装 网上很多;
这里着重说下 Https 的 抓包;其中 Android 和 IOS还不大一样;
以 Charles 介绍 (Mac): 下载地址 4.6.1
1. 第一步安装 根证书到 Mac系统 (并且设置证书 为 始终信任)
2. 安装 证书到 IOS 设备
首先 设置 IOS 设备的 wifi 网络 代理为手动:并且 IP 和端口 为下图界面所示
IOS 手机浏览器打开上面的 连接 下载并且安装;
安装证书后需要在手机里开启信任,才可以使用,
打开IOS手机-设置-通用-关于本机-证书信任设置
3. 设置需要 ssl 抓包的地址;我这里这是的是 所有地址;
大工搞成! 之前不能看到的 https 以及 可以了 IOS 以及成功搞定了! 下面接着 Android
- Android:
因为 按照上面 IOS 方式 直接在浏览器中下载 Charles 安装证书 为 pem格式,
Android是无法直接安装的;Android需要的是
我们需要在 Charles 中直接保存 .cer,然后扔到手机中在安装;
但是
Android 7.0 以上系统中 证书分为 系统证书 和用户自己安装的 证书
然而 自己安装的证书是 不被信任的!
介于时间关系 android :这里介绍两种方式:
- 解包重新编译 配置 android AndroidManifest.xml文件 允许 抓包
- 手机 root 直接 安装证书到系统中
- 开发过程中配置 network_security_config.xml 和 AndroidManifest.xml ;也是可以抓包的
<network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" overridePins="true" /> </trust-anchors> </base-config> <!--允许debug模式下,信任用户安装的证书。关键--> <debug-overrides> <trust-anchors> <certificates src="user"/> </trust-anchors> </debug-overrides> </network-security-config>