Android 利用Charles抓包体现Unknown

[复制链接]
发表于 2025-12-19 10:23:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
迩来开辟的一个功能必要抓包验证一下网络哀求的效果。
但是在设置完Charles的证书署理等设置后,抓包时体现Unknown。
在网上查了半资质料和文章,终极办理了题目。
以下是在调试抓包情况中遇到的一些题目和办理方法。

1、手机证书的安装
Charles在Mac电脑端的设置大部门网上都有教程,这里不外多先容,只简朴说一下。
在Charles的Mac电脑端要设置端标语和检察本地的IP所在,把IP所在和端标语在手机的WLAN选项里举行署理设置。署理设置为手动。
同时把证书安装在mac电脑上而且在mac电脑的体系设置里要把Charles的证书的全部设置修改为不停信托(Always trust)。
在mac电脑设置完成后,下一步就是在android手机上下载安装Charles的CA证书。
这一步题目最多。
我的华为手机体系自带的欣赏器,利用Charles保举的方法在欣赏器输入chls.pro/ssl去下载时,下载不了。
以是我保举各人在mac电脑上利用Charles把证书Save到电脑本地,在通过邮件的方式终极下载得手机里。
Charles证书在生存时,可以选择pem格式或cer格式。这两种各人最好都下载并传得手机。
由于差别的手机大概对格式要求不一样。
我本身终极不但把pem格式和cer格式都安装了,同时还把这两个文件都改名成了crt后缀又安装一遍。
在安装时,在华为手机的设置里找到安全->更多安全设置->加密和根据->从存储装备安装
到这一步会看到页面里有CA证书和WLAN证书。我末了是把这两个全部都安装了,安装CA证书时必要输入一下开机暗码。这两个证书安装的内容是一样的,都是从Mac电脑里Charles生存的证书文件。
安装CA证书到这一步就完成了,可以说把能装的证书都装了一遍。

2、Android项目的抓包权限设置
这一步尤为告急。在android 7.0以上的版本,想要让app支持抓包必要在app的网络安全设置文件里举行特别设置。
文件名一样平常是network_security_config.xml
内容如下
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <network-security-config>
  3. <base-config cleartextTrafficPermitted="true"/>
  4. <debug-overrides>
  5.     <trust-anchors>
  6.         <certificates
  7.             overridePins="true"
  8.             src="system" />
  9.         <certificates
  10.             overridePins="true"
  11.             src="user" />
  12.     </trust-anchors>
  13. </debug-overrides>
  14. </network-security-config>
复制代码
各人可以查抄一下本身的项目里是否有这个文件,没有的话在项目的xml目次下创建一个就可以。
代码里的内容已经是支持debug抓包模式的代码了。各人直接复制粘贴就可以。
必要注意的是,这个文件设置里写的是debug-overrides,以是在打包时,也要查抄打包的buildtype里debuggable要设置成true。
文件设置改好之后,在manifest文件里同样要设置。
  1. <application
  2.         android:name="myproject"
  3.         android:allowBackup="@bool/allow_backup"
  4.         android:icon="@mipmap/ic_launcher"
  5.         android:label="@string/app_label"
  6.         android:networkSecurityConfig="@xml/network_security_config"
  7.         android:roundIcon="@mipmap/ic_launcher_round"
  8.         android:supportsRtl="true"
  9.         android:theme="@style/AppTheme"
  10.         android:allowNativeHeapPointerTagging="false"
  11.         tools:replace="android:name,android:allowBackup,android:label,android:networkSecurityConfig">
复制代码
在manifest文件里设置好后,抓包设置就可以见效了。

以上2个步调完成后,我的华为手机从抓包体现unknown已经变成可以看到抓包内容了。
资料参考:
在MAC上利用Charles抓包HTTPS链接
Android Charles抓包失败
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表