Charles抓包https显示unknow

安装Charles之后抓包有的正常,有的显示unknow

1.先安装Charles证书

在help-SSL -> proxying -> install charles root Cercificate证书

2.Charles添加SSL Proxying,路径:Proxy-> SSL Proxying Settings

设置之后重新加载之后可以抓到包了

3.特别说明

注:证书问题可能导致有的网站抓到包是unkow有的正常,需要重新装一下证书,选择当前用户

配置好之后重启charles重新查看,抓包正常

### 解决 Charles 抓包时出现 Unknown 并且网页无法显示的问题 当遇到 Charles 抓包过程中出现未知 (Unknown) 的情况以及网页无法正常加载的现象,通常是因为 SSL/TLS 加密流量未被正确解码或客户端未能信任 Charles 生成的根证书。 #### 安装并信任 Charles 根证书 对于 Mac 端设备而言,应当通过点击 Charles 菜单栏的帮助选项 `Help` -> `SSL Proxying` -> `Install Charles Root Certificate` 来安装 CA 证书[^1]。这一步骤确保操作系统能够识别由 Charles 创建的安全连接。 #### 配置 SSL 代理设置 在 Charles 中进入菜单项 `Proxy` -> `SSL Proxying Settings`,在此处添加需要监控的目标域名及其对应的端口号作为新的条目[^2]。此操作允许 Charles 对指定站点实施中间人攻击来拦截 HTTPS 流量。 针对 Android 设备特别是版本号大于等于7.0的情况下,除了上述步骤外还需要额外处理应用层安全策略: - 在应用程序源代码目录下的 res/xml 文件夹内创建名为 `network_security_config.xml` 的 XML 文档[^3]: ```xml <?xml version="1.0" encoding="utf-8"?> <network-security-config> <!-- 允许用户自定义的信任库 --> <debug-overrides> <trust-anchors> <certificates src="user"/> </trust-anchors> </debug-overrides> <!-- 或者更宽松的方式适用于所有网络请求 --> <!--<base-config cleartextTrafficPermitted="true">--> <!--<trust-anchors>--> <!--<certificates src="system"/>--> <!--<certificates src="user"/>--> <!--</trust-anchors>--> <!--</base-config>--> <!-- 如果仅需对特定域启用,则可以采用 domain-config 方式 --> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">example.com</domain> <trust-anchors> <certificates src="system"/> <certificates src="user"/> </trust-anchors> </domain-config> </network-security-config> ``` 最后记得更新 AndroidManifest.xml 添加对该配置文件的支持: ```xml <application android:networkSecurityConfig="@xml/network_security_config" ... > ... </application> ``` 完成以上更改后重新编译运行项目即可让 Charles 成功捕获到加密后的 HTTP 请求响应数据流而不显示unknown,并能正常展示页面内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值