Coolfensi推广网站头像

Coolfensi推广网站

Coolfensi推广网站专注数据驱动的互联网营销和运营,客服VX:coolfensi,客服QQ:2451468936(QQ/微信客服只做引导和站点通知,不闲聊。有站点内业务疑问以及订单问题的话,请点击【CL-在线售后客服窗口】进行会话)

  • 文章113438
  • 阅读15230357

人生倒计时

  • 今日已经过去小时
  • 这周已经过去
  • 本月已经过去
  • 今年已经过去个月
首页 最新知识 正文内容

lsp-charles微博(lsp关注的微博)

客服VX(coolfensi) 最新知识 2023-02-06 00:02:13 86

iOS 10.3下解决Charles抓包ssl证书信任问题

最近iPhone系统更新到iOS 10.3后,在公司里用Charles抓包竟然出现了一些问题,https的请求都会失败,提示错误信息为 Failure SSLHandshake: Received fatal alert: unknown_ca 和 You may need to configure your browser or application to trust the Charles Root Certificate. 然而之前任何问题都没有,并且相关设置都正确:Mac上安装了Charles的根证书,并且设置了始终信任,然后手机上也登录了 安装了描述文件,一切都按正常程序走的,但是错误始终无法解决.这里Charles的相关使用不做介绍,不会使用的请参考本文结尾处唐巧大大的博文.

联系方式:微信:coolfensi
(使用浏览器扫码进入在线客服窗口)
复制联系方式

虽然charles的根证书已经在安装列表中显示,但它是被关闭的。在iOS 10.3之前,当你将安装一个自定义证书,iOS会默认信任,不需要进一步的设置。而iOS 10.3之后,安装新的自定义证书默认是不受信任的。如果要信任已安装的自定义证书,需要手动打开开关以信任证书。

设置-通用-关于本机-证书信任设置- 找到charles proxy custom root certificate然后信任该证书即可.

问题虽小,但是很有必要普及一下.这个设置证书信任的开关界面隐藏的很深,是iOS 10.3之后出现的(貌似是,至少之前我没见过).这个问题因此也只有在iOS 10.3的设备上才会出现,真是太意外了!因此作为iOS开发者,更新手机系统时,了解一下系统更新的相关内容也变得很有必要.

Charles 从入门到精通 - 唐巧的技术博客

TRUSTING CUSTOM ROOT CERTIFICATES ON IOS 10.3

lsp-charles微博(lsp关注的微博) 第1张

解决Charles抓包ssl证书信任问题

虽然charles的根证书已经在安装列表中显示,但它是被关闭的。在iOS 10.3之前,当你将安装一个自定义证书,iOS会默认信任,不需要进一步的设置。而iOS 10.3之后,安装新的自定义证书默认是不受信任的。如果要信任已安装的自定义证书,需要手动打开开关以信任证书。

设置-通用-关于本机-证书信任设置- 找到charles proxy custom root certificate然后信任该证书即可.

charles抓包显示乱码解决方法

【问题现象】

在抓https或者http2.0协议请求时,Request和Response显示乱码了:

【解决办法】

第一步:点击 【工具栏--Proxy--SSL Proxying Settings...】

第二步:配置请求的域名和端口号,*表示任意

再重新抓包,Request/Response显示正常:

注意:若是抓取app,此法还是乱码则去检查app是否进行了服务器校验了客户端(双向证书校验)

Charles设置代理之后,为什么电脑和手机都不能上网?

造成这种问题的原因就是charles等代理工具也拦截了电脑网页的请求,但是使用的是charles代理工具的证书,导致浏览器无法验证此网页的证书,进而导致了报错。

解决方法:我们只需要将charles的证书添加到电脑的信任证书中即可。

进入Charles的Help中,选择SSL Proxying,然后点击Install Charles Root Certificate。

此时我们的Charles证书是不被系统信任的,所以访问网站每回都会报证书问题,然后我们点击安装证书。

可以选择证书的安装位置,我选择的是本地计算机,所有用户都可以用,或者为了安全,也可以选择只给当前用户安装,那么别的windows用户就没有被安装此证书;

然后为证书选择存储位置,这里必须手动选择存储位置,否则自动选择出来的证书位置仍然是不被信任的。

然后点击浏览,我们手动指定证书的存储位置为“受信任的根证书颁发机构”。

然后点击确定,完成,此时再次进入安装证书的步骤,我们就发现Charles证书已经被系统信任。

其他解决方案:

1、火狐里面的选项-常规-最底下有个网络代理,点击设置后,进入设置窗口,选择手动配置代理,http代理是127.0.0.1,端口是8888,下面的“为所有协议”这个前面不打钩,下面的三个代理为空,三个端口是0,选择“SOCKS-v5”;

2、在谷歌上下载一个扩展插件“Proxy-SwitchyOmega_v2.4.6.crx”,下载后拖到谷歌的扩展程序中,安装好后,点击选项;

3、点击proxy,右边配置,代理协议是http,代理服务器是127.0.0.1,代理端口是8888;

4、点击auto switch,默认有两个条件,保留了一个条件,条件类型:网址通配符,条件设置:*://自己的域名地址/js/*,情景模式:选的proxy;

5、在谷歌浏览器顶部,最左边,会有个选项的按钮,点开后是下拉菜单,然后选择auto switch,图标就变成圆形了;

6、这样配置的话,就相当于会行程两层的代理,一层是谷歌浏览器,如果有百度的东西,那么就直接是浏览器和百度进行请求了,不会走charles代理,其次charles配置的代理文件。

如何在抓包工具charles中设置response的结果为utf-

Charles(查理斯) Response中文乱码:在infoplist 中 的vmoption 添加-Dfileencoding=UTF-8 直接上图。 Charles 可以抓https协议的网络包,新浪微博客户端api网络调用直接边透明。如何在抓包工具charles中设置response的结果为utf-

文章目录
    搜索