要抓 iphone 上的 https 数据包
首先使用的是 Fiddler 使用 Safari 访问 https://www.google.com.hk 可以在 Fiddler 中看到明文数据,然后打开要抓取的 app ,发现 Fiddler 中显示
A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below
然后又使用 Charles 测试,同样出现上述现象,Overview 中显示如下
Failure SSLHandshake: Remote host closed connection during handshake Notes You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.
以上是大致信息,设置代理后,该 app 显示请求失败
Q1: 这个是什么原因,是不是该 app 做了证书检查导致,同样设置代理后 app store 同样打不开
Q2:可不可以自签名一个证书,域名绑定和要抓取的域名一致,绕过本地证书检查.
1
popok 2016-09-08 15:52:43 +08:00 via iPhone
手机设置代理后,访问一个网址,你 Charles 里点 help ,然后 ssl 什么的那里面有一个什么在移动设备上安装证书的选项,在 iPhone 上安装 Charles 的证书,并信任,然后就可以了。
|
2
yatessss 2016-09-08 16:02:08 +08:00
得在手机里装证书,然后在 charles 里设置需要代理的域名, charles 抓包 ssl 得需要设置指定的域名,你抓包一个就得设置一个域名
|
4
Alife OP @yatessss
@popok 很确定 Charles 都设置正确了, 且 Fiddler 不去要额外设置,为什么也无法显示明文内容 和服务器证书假面方式有关系吗? 这个? 不是很明白 SSL TLSv1.2 (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) 以下是 Charles Overview 中显示的内容 URL https://域名 Status Failed Failure SSLHandshake: Remote host closed connection during handshake Notes You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu. Response Code - Protocol HTTP/1.1 SSL TLSv1.2 (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) Method CONNECT Kept Alive No Content-Type - Client Address /192.168.1.110 Remote Address 域名 /ip Connection Timing Request Start Time 16-9-8 14:42:17 Request End Time - Response Start Time - Response End Time - Duration - DNS 1 ms Connect 73 ms SSL Handshake 173 ms Request - Response - Latency - Speed - Response Speed - Size Request 190 bytes Header 190 bytes Query String - Cookies - Body - Uncompressed Body - Compression - Response - Header - Cookies Body - Uncompressed Body - Compression - Total 190 bytes |
6
yatessss 2016-09-08 16:27:00 +08:00
额。。。 按说手机装上证书 设置一下就应该可以了。。。。 显示里不是这样写了嘛 >Notes You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.
|
7
hanzichi 2016-09-08 16:35:02 +08:00
|
8
Alife OP Charles 下抓包看截图,ssl proxy 设置 *:443
https://ooo.0o0.ooo/2016/09/08/57d129ec92a40.png 第一个域名 https://xp.apple.com 出错 第二个域名 https://www.google.com.hk 显示抓包成功 同样 Fiddler 下抓包显示如下 https://ooo.0o0.ooo/2016/09/08/57d1316c64f19.png 同样 https://xp.apple.com 只显示 Tunnel to https://www.google.com.hk 成功,可以看到 Url 微博图床用不了,抱歉不能直接显示图片 |
12
hack 2016-09-09 08:51:57 +08:00 via Android
协议支持那里要改一改,对于开了 HSTS 的 现阶段我是直接放弃
|
13
Alife OP @hack 改成什么?我已经改成 <client>;ssl3;tls1.0;tls1.2 了,不行啊
用 chrome 访问 https://xp.apple.com 会报 404 ,但是在 Fiddler 中可以看到明文的 404 返回信息 但是抓取 iphone 上的 app store 的 https://xp.apple.com 却不行 |
16
Niphor 2016-09-09 11:51:19 +08:00
我是直接设成 tls1.0;tls1.1;tls1.2 的...
|
20
Totato5749 2017-06-01 02:55:55 +08:00
我怀疑是不是跟自己签的证书有关
|
21
Alife OP @Totato5749 不知啊,证书用的是 fiddler 自动生成的啊
|
22
loadnl 2017-06-28 16:18:26 +08:00
method 为 connect 的不能抓。那个好像是直接转发 不代理
|
23
Alife OP |
24
zdxu 2018-05-26 20:53:39 +08:00
请问你这个问题解决了吗?好像是 method 是 connect 导致,但是我还没找到解决方案。
|
26
realajie 2018-12-26 14:19:24 +08:00
如 25 楼所述,还是没完全解决。
|
27
yanglihui 2019-03-11 08:49:25 +08:00
|
28
RihcardLu 2019-08-02 10:25:59 +08:00
@yanglihui @Alife @realajie 遇到了同样的问题,和协议无关,原因是因为服务器加入了证书检测,想要绕过只能 root 或翻墙
相关资料 https://www.zhihu.com/question/60618756/answer/492263766 |
29
hero2040407 2019-09-15 14:01:03 +08:00
设置 通用 关于本机 证书信任设置
|
30
okface 2021-01-07 19:58:03 +08:00
遇到同样问题了,我抓的是豆瓣,app 第一页可以显示,点不进去详情,例如某电影或书籍。也不能搜索。只能看豆瓣首页的一些广告啥的。其他 app 我试了 safari 、lark 等,都可以。我感觉不是豆瓣改协议了,是 ios 升级之后代理的证书还没来得及适配? charles 和 fiddler everewhere 都试了,ios13.7 。
|
34
Alife OP |
35
soakit 156 天前
重置 Fiddler 设置
有时候,重置 Fiddler 的设置可以解决一些奇怪的问题: 在 Fiddler 中,点击 Tools 菜单,然后选择 Options. 在 Options 窗口中,选择 HTTPS 选项卡,并点击 Reset All Certificates. 关闭并重新启动 Fiddler ,然后再次配置 HTTPS 解密和证书信任。 |