我有Android 4.3强制通过IPTABLES使用Charles代理。 查尔斯证书安装在手机上。 我能够在浏览器中捕获正常的SSL流量,如https网站。 所有POST和GET方法似乎都能正常工作。 在特定的应用程序中,使用SSL CONNECT方法时会失败。
请帮忙!
答案 0 :(得分:47)
答案 1 :(得分:14)
您可以在Facebook或Instagram等应用程序中遇到此问题。 Charles证书在某些新应用程序中不起作用,因为它们使用的是名为SSL-PINNING的技术。首先,您必须打破ssl-pinning应用程序系统,或者您可以安装旧版本的应用程序,然后它有时可以工作,但我们需要一个关于ssl固定的新解决方案,以记录此类应用程序的流量。
答案 2 :(得分:9)
有些人我最终在这里使用安卓认证后无法通过查尔斯进行SSL的设备 - 现在在http://chls.pro/ssl
在N中 - 您还需要添加xml文件和安全配置。这篇文章详细介绍了How to get charles proxy work with Android 7 nougat?
答案 3 :(得分:4)
答案 4 :(得分:4)
在手机上,访问http://charlesproxy.com/getssl下载证书。在android中下载证书后,它将提示您安装证书,为证书命名并继续。现在应该可以了。
注意:iPhone上应该类似
答案 5 :(得分:3)
如@BerkayYıldız所说,它可能使用ssl /证书固定。
如何修复/避免/禁用ssl固定?
整个逻辑是:
1级:针对normal http
:
核心逻辑:
注意:
计算机端,必须使用wired network
,不无线,否则无法使用移动端网络
2级:针对encrypted https
:
Key Chain
信任Charles Root CA Enable SSL Proxying
VPN and Application
Trusted Credentials -> User
,可以看到已安装的Charles证书 第3级:对于使用https
的特殊ssl pinning
:
答案 6 :(得分:0)
当我尝试在我的Nexus 6p,Android 6.0上安装证书时出现以下错误。 (我按照查尔斯的说明进行操作,并通过http://chls.pro/ssl下载了证书。):
无法安装,因为无法读取证书文件。
此问题的解决方案是通过以下方式安装:
Settings
> Security
> Install from storage
导航到cert文件并安装后,一切都按预期工作。
答案 7 :(得分:0)
如果您通过使用Android手机上的Facebook登录名的应用程序获得此功能,则可以通过卸载fb应用程序解决该问题。然后使用移动fb网站代替,我可以查验所有内容。安装了fb应用程序后,fb api失败,并显示SSL错误。
答案 8 :(得分:-2)
我在Android 8.1上使用了Charles 4.2.5和Nexus 6P。
我无法使用Charles在手机上跟踪https。
Plz请注意,在Android N之后,我们无法捕获其他人的正常SSL流量' app。
这是查尔斯的官方网站。 https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
Android从Android N开始,您需要在应用中添加配置 为了让它信任Charles SSL生成的SSL证书 代理。这意味着您只能将SSL代理与应用程序一起使用 你控制了。
要将您的应用配置为信任Charles,您需要添加一个 网络安全配置文件到您的应用程序。这个文件可以 覆盖系统默认值,使您的应用程序可以信任安装的用户 CA证书(例如Charles Root证书)。你可以指定 这只适用于您的应用程序的调试版本,所以 生产版本使用默认的信任配置文件。
将文件res / xml / network_security_config.xml添加到您的应用中:
然后在应用的清单中添加对此文件的引用,如下所示:
...