我有Android 4.3强制通过IPTABLES使用Charles代理 . 查尔斯证书安装在手机上 . 我能够在浏览器中捕获正常的SSL流量,如https网站 . 所有POST和GET方法似乎都能正常工作 . 在特定应用程序中,使用SSL CONNECT方法时失败 .
网址:https://XX.XX.XXX.XXX/
状态:失败
失败:SSLHandshake:收到致命警报:unknown_ca
响应代码: - 协议:HTTP / 1.0
方法:CONNECT
请帮忙!
从iOS 10.3开始,您还需要转到设置>常规>关于>证书信任设置并信任Charles证书 .
您可以在Facebook或Instagram等应用程序中遇到此问题 . Charles证书在某些新应用程序中不起作用,因为它们使用的是名为SSL-PINNING的技术 . 首先,您必须打破应用程序的ssl-pinning系统,或者您可以安装旧版本的应用程序然后它有时可以工作但我们需要一个关于ssl固定的新解决方案,以便记录此类应用程序的流量 .
有些人我最终在这里安装了知识产权N设备即使安装了证书也不会对查尔斯进行SSL - 现在http://chls.pro/ssl
在N中 - 您还需要添加xml文件和安全配置 . 这篇文章详细介绍:How to get charles proxy work with Android 7 nougat?
我遇到了同样的问题 . 安装最新证书后,它就解决了 .
在手机上,访问http://charlesproxy.com/getssl下载证书 . 在android中下载证书后,它将提示您安装证书,为证书命名并继续 . 它现在应该工作 .
注意:在iPhone上应该类似
正如@BerkayYıldız所说,它可能使用ssl / certificate pinning .
如何修复/避免/禁用ssl固定?
整个逻辑是:
LEVEL 1 :for normal http :核心逻辑:
normal http
PC:Mac / Windows
Charles设置了http代理
设置端口
app使用Charles代理在Wifi里面
,设置
主机IP
端口
注意:计算机端,必须使用 wired network , NOT 无线,否则移动端网络不可用
wired network
LEVEL 2 :for encrypted https :
encrypted https
PC
安装Charles根证书
Mac:使用 Key Chain 来信任Charles Root CA.
Key Chain
查尔斯
Enable SSL Proxying
为您的特定api地址设置位置过滤器
电话
app
安装Charles Root CA.
注意:类型应选择: VPN and Application
VPN and Application
NOT选择:WLAN
makeure证书安装成功
Trusted Credentials -> User ,可以看到安装了Charles证书
Trusted Credentials -> User
LEVEL 3 :对于使用 ssl pinning 的SPECIAL https :
ssl pinning
https
电话:
确保root或越狱
Android:已经扎根了
供以后安装工具:Xposed
iOS:有越狱
供以后安装工具:Cydia
然后安装插件/工具,能够避免/禁用ssl固定
Android:
JustTrustMe(基于Xposed)
Android-SSL-TrustKiller(Cydia Substrate)
iOS:
SSL Kill Switch 2(基于Cydia)
旧版本:iOS SSL Kill Switch(基于Cydia)
更详细的总结请参考我的帖子(中文):1和2
当我尝试在我的Nexus 6p,Android 6.0上安装证书时出现以下错误 . (我按照查尔斯的说明进行操作,并通过http://chls.pro/ssl下载了证书 . ):
无法安装,因为无法读取证书文件 .
此问题的解决方案是通过以下方式安装: Settings > Security > Install from storage 导航到cert文件并安装后,一切按预期工作 .
Settings
Security
Install from storage
如果你在Android手机上使用Facebook登录的应用程序得到这个,我通过卸载fb应用程序来解决它 . 然后使用移动fb网络,我可以查询所有内容 . 安装了fb app后,fb api因SSL错误而失败 .
我在Android 8.1上使用Charles 4.2.5和Nexus 6P .
人们无法使用Charles在我的手机上跟踪https .
Plz注意到在Android N之后,我们无法捕获其他人的正常SSL流量 .
这是查尔斯的官方网站 . https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
Android从Android N开始,您需要为您的应用添加配置,以使其信任Charles SSL Proxying生成的SSL证书 . 这意味着您只能对您控制的应用程序使用SSL代理 . 要将您的应用配置为信任Charles,您需要添加一个网络安全配置文件到您的应用程序 . 此文件可以覆盖系统默认值,使您的应用程序可以信任用户安装的CA证书(例如Charles Root证书) . 您可以指定这仅适用于应用程序的调试版本,以便 生产环境 版本使用默认信任配置文件 . 将文件res / xml / network_security_config.xml添加到您的应用程序:然后在应用程序的清单中添加对此文件的引用,如下所示:...
9 回答
从iOS 10.3开始,您还需要转到设置>常规>关于>证书信任设置并信任Charles证书 .
您可以在Facebook或Instagram等应用程序中遇到此问题 . Charles证书在某些新应用程序中不起作用,因为它们使用的是名为SSL-PINNING的技术 . 首先,您必须打破应用程序的ssl-pinning系统,或者您可以安装旧版本的应用程序然后它有时可以工作但我们需要一个关于ssl固定的新解决方案,以便记录此类应用程序的流量 .
有些人我最终在这里安装了知识产权N设备即使安装了证书也不会对查尔斯进行SSL - 现在http://chls.pro/ssl
在N中 - 您还需要添加xml文件和安全配置 . 这篇文章详细介绍:How to get charles proxy work with Android 7 nougat?
我遇到了同样的问题 . 安装最新证书后,它就解决了 .
在手机上,访问http://charlesproxy.com/getssl下载证书 . 在android中下载证书后,它将提示您安装证书,为证书命名并继续 . 它现在应该工作 .
注意:在iPhone上应该类似
正如@BerkayYıldız所说,它可能使用ssl / certificate pinning .
如何修复/避免/禁用ssl固定?
整个逻辑是:
LEVEL 1 :for
normal http
:核心逻辑:PC:Mac / Windows
Charles设置了http代理
设置端口
app使用Charles代理
在Wifi里面
,设置
主机IP
端口
注意:计算机端,必须使用
wired network
, NOT 无线,否则移动端网络不可用LEVEL 2 :for
encrypted https
:PC
安装Charles根证书
Mac:使用
Key Chain
来信任Charles Root CA.查尔斯
Enable SSL Proxying
为您的特定api地址设置位置过滤器
电话
app
安装Charles Root CA.
注意:类型应选择:
VPN and Application
NOT选择:WLAN
makeure证书安装成功
Trusted Credentials -> User
,可以看到安装了Charles证书LEVEL 3 :对于使用
ssl pinning
的SPECIALhttps
:电话:
确保root或越狱
Android:已经扎根了
供以后安装工具:Xposed
iOS:有越狱
供以后安装工具:Cydia
然后安装插件/工具,能够避免/禁用ssl固定
Android:
JustTrustMe(基于Xposed)
Android-SSL-TrustKiller(Cydia Substrate)
iOS:
SSL Kill Switch 2(基于Cydia)
旧版本:iOS SSL Kill Switch(基于Cydia)
更详细的总结请参考我的帖子(中文):1和2
当我尝试在我的Nexus 6p,Android 6.0上安装证书时出现以下错误 . (我按照查尔斯的说明进行操作,并通过http://chls.pro/ssl下载了证书 . ):
此问题的解决方案是通过以下方式安装:
Settings
>Security
>Install from storage
导航到cert文件并安装后,一切按预期工作 .如果你在Android手机上使用Facebook登录的应用程序得到这个,我通过卸载fb应用程序来解决它 . 然后使用移动fb网络,我可以查询所有内容 . 安装了fb app后,fb api因SSL错误而失败 .
我在Android 8.1上使用Charles 4.2.5和Nexus 6P .
人们无法使用Charles在我的手机上跟踪https .
Plz注意到在Android N之后,我们无法捕获其他人的正常SSL流量 .
这是查尔斯的官方网站 . https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/