Charles抓包出现<unknown>问题

本文详细介绍了如何破解Charles代理工具的注册限制,使其无限期使用。通过提供有效的LicenseKey,用户可以轻松绕过30天试用限制。此外,还提供了详细的步骤指导用户如何在手机上设置Charles代理,包括安装SSL证书、设置信任以及调整SSL代理设置,确保能够成功抓取HTTPS流量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Charles注册破解

Charles的安装过程在就不做过多介绍了,这里主要说一下Charles的破解方式,不注册购买只能使用30天。这里提供一个License Key,4.x版本亲测可用。打开Help 输入下面的License即可。
// Charles Proxy License
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
在这里插入图片描述

Charles抓包的流程

1.查看本机电脑ip地址

打开Help -> Local IP Address 即可看到,记录下这个ip地址后面有用。

在这里插入图片描述

打开Proxy -> Proxy Settings... 查看代理端口配置,默认值为8888记下这个端口。

在这里插入图片描述

设置手机代理

保证手机和电脑连接同一无线局域网,并且设置手机wify HTTP代理为手动,输入刚才记录的ip地址和端口。
在这里插入图片描述

这时进行抓包操作,发现已经可以抓到接口的请求了。
在这里插入图片描述

但是请求前都加了锁,具体地址为<unknown>

解决<unknown>问题

  1. 手机端需要安装ssl证书(如果没有安装证书,打开浏览器登录网址:chls.pro/ssl 安装证书),安装好之后要设置信任该证书(通用->关于本机->设置信任该证书),不然抓包仍然会显示unknown类型。
    在这里插入图片描述

  2. 在Charles中,设置Proxy->SSL Proxying Settings中的SSL Proxying的代理网址。
    直接点击Add->OK即可,不用输入host和port。

在这里插入图片描述

再次抓包,已经没有小锁子了,可以正常展示抓包内容。

在这里插入图片描述

### Charles 抓包时 Windows 桌面应用显示 `unknown` 的原因及解决方法 当使用 Charles 进行抓包操作时,如果遇到 Windows 桌面应用程序的 HTTPS 请求被标记为 `<unknown>` 或者无法解析具体内容的情况,通常是因为 SSL 代理未正确配置或者目标主机未启用 SSL 中间人功能。 以下是具体的原因分析以及完整的解决方法: #### 原因分析 1. **SSL 握手失败** 当 Charles 尝试拦截并解密 HTTPS 流量时,可能会由于客户端未能验证 Charles 提供的自签名证书而导致握手失败。这会表现为错误提示 `"An unknown issue occurred processing the certificate"`[^1]。 2. **SSL Proxying 配置缺失** 如果在 Charles 的 `Proxy -> SSL Proxying Settings` 中未针对特定主机名或 IP 地址启用 SSL 代理,则流量会被视为未知 (`<unknown>`) 并不会被捕获到实际数据[^4]。 3. **操作系统级的信任问题** 即使安装了 Charles 的根证书,在某些情况下,Windows 应用程序可能仍然不信任此证书。这是因为部分桌面应用有自己的证书存储机制而不是依赖于系统的默认设置[^3]。 --- #### 解决方法 ##### 方法一:确保 Charles 根证书已正确安装 - 下载并安装 Charles 的 CA 证书至本地计算机的操作系统级别。对于 Windows 用户来说,可以通过双击 `.pem` 文件来完成导入过程,并将其添加到受信颁发机构列表中。 ```plaintext 步骤如下: - 打开 Charles 软件; - 导航菜单栏找到 Help > SSL Proxying Certificate; - 另存为 .crt/.pem 文件形式保存下来; - 使用 Microsoft Management Console (mmc.exe) 安装该文件进入 Trusted Root Certification Authorities 存储区。 ``` ##### 方法二:激活对应域名下的 SSL 截取选项 - 查看那些返回 `<unknown>` 结果的具体 URL 是什么样子,然后把这些地址加入到 SSL Proxy 设置里去。打开 Charles 后依次点击路径 `Proxy -> SSL Proxying Settings`, 添加新的条目指定 Host 和 Port 字段匹配上你要监控的服务端口信息。 ##### 方法三:处理特殊场景下不受控的应用行为 有些较新版本的安全敏感型软件(比如银行类 APP),即使完成了上述两步也可能继续拒绝通过中间方传输其加密通信内容。此时可以尝试以下额外措施之一: - 修改防火墙规则允许临时例外情况发生以便让这些进程接受来自第三方工具伪造出来的连接认证链条;或者是重新编译源码项目嵌入调试模式开关从而绕过正式环境里的严格校验逻辑[^2]。 --- ### 总结 综上所述,成功利用 Charles 对 windows 上运行的各种类型客户端发起网络调用来做深入研究的关键在于妥善安排好整个链路上各个环节之间的相互关系——从最初的基础架构准备阶段一直到最终的数据呈现环节都需要给予足够的重视程度才能达到预期效果。 ```python import os print(os.name) if os.name == 'nt': print("This is a Windows system.") else: print("Not running on Windows.") ```
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值