API抓包工具推荐、ADB安装证书及项目信任证书

前言

之前一直用的Charles,但是它是收费的,最近老是无响应,就找一些替代的,使用Reqable后,感觉还不错,免费,使用起来也简单。

Reqable

Reqable · API抓包调试 + API测试一站式工具

Charles

Charles在Windows上抓包https请求及弱网测试 | 码客说

Android开发-使用MuMu模拟器调试及使用Charles抓包 | 码客说

Fiddler

Fiddler网络调试工具 - 官方网站

Fiddler Classic

免费,但是界面不好看,操作也相对麻烦。

Download Fiddler Web Debugging Tool for Free by Telerik

Fiddler Everywhere

界面现代化,但是收费。

The Ultimate Web Debugging Tool - Download Fiddler Everywhere | Telerik

LightProxy

代理抓包软件推荐-LightProxy | 码客说

使用起来很方便,就是有时会出现返回的JSON无法解析的问题。

Mitmproxy

感觉使用起来不是很方便。

Mac中使用Mitmproxy/Charles拦截移动设备网络请求(抓包) | 码客说

ADB安装证书

证书必须是 .crt.pem 格式。

我这里导出的证书为reqable-ca.crt

推送证书到设备

1
adb push reqable-ca.crt /sdcard/

现在通过ADB直接安装设备的方式都不行了,只能打开页面,手动安装。

打开安全页面

1
adb shell am start -a android.settings.SECURITY_SETTINGS

安装

打开 安装证书 > CA 证书

找到推送的证书安装即可。

项目配置

添加网络安全配置文件

方式1

build.gradle中配置依赖(推荐)

1
2
3
dependencies {
debugImplementation("com.reqable.android:user-certificate-trust:1.0.0")
}

Debug包将自动集成网络安全配置文件,如果无法连接到Maven中央仓库,请按照下方的指引手动创建并配置网络安全文件。

方式2

新建文件 res/xml/network_security_config.xml

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>

配置到 AndroidManifest.xml

1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application android:networkSecurityConfig="@xml/network_security_config">

</application>
</manifest>