新手区 [求助] Fiddler 抓不了 https 包

Heyniu · October 18, 2016 · Last by gainiu replied at August 01, 2018 · 4241 hits

Fiddler抓不了https包

  • 项目已从http转为https
  • 各种配置都没问题
    • 能抓其他App的https包 >> 支付宝、简书、淘宝等
    • 不能抓我项目的https包
  • 项目的证书分别已安装在PC端还有手机上,还是抓不到
  • 已尝试google 百度无果

具体表现

希望有在实际情况遇到此问题的朋友帮帮忙!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 10 条回复 时间 点赞

ALPN/spdy协议啊,你们项目改造了吧,肯定抓不了啊。但是默认会转http1.1。你chrome://net-internals=>(spdy或http2.0)看看。
目前没有好的抓包办法,看看最新的破解版的charles。

#1楼 @lucasluo charles可以看到请求,但是不能解密,手机已经安装了charles证书

你们的客户端对证书有校验吧. 你看看他们的代码里面有没有校验证书的字段吧

#3楼 @seveniruby
客户端做了2件事:
1.http切换为https
2.接口请求时带上了证书
其他好像没改动,下午我具体了解下

我们公司的app之前也这样. 就是因为证书方面会有限制. 你可以用burp suite试试. burp不会伪造证书, 他会重用老的证书的字段.

[Burp Suite & Charles ] HTTPS 抓包
PS:测试环境和生产环境用的证书不一样,生产环境用的证书应该严格保密的

我这边App的情况是这样的:

1、客户端服务端进行会话之前,客户端会对服务端下发的证书,进行验证

2、而使用Fiddler抓包时,是无法对服务端下发的证书进行验证的(因为Fiddler没有App的证书,Fiddler的证书是软件自带的)

3、因此,我这边在开发和测试环境下,还提供了1个入口,就是客户端关闭对证书的验证,接受所有证书

4、客户端关闭证书验证之后,就可以使用Fiddler进行抓包了。

#5楼 @seveniruby burp suite也尝试了,情况与fiddler wireshark charles一样抓不到我们项目的https
#6楼 @sanlengjingvv 也看了些文章,现在大致的情况,我猜是app没有默认信任系统的证书,而是自定义的只信任服务器的证书。现在来说的话,只有拿到项目的证书以及密码才可能抓取到

#7楼 @sunya 也看了fiddler的报错信息,以一次握手ClientHello就被干掉了,问过开发,他们表示不知道客户端有没对服务端下发的证书,进行验证

pass:
综上所述,这次的https抓包可能以失败告终,对我开展工作有一定影响

#3楼 @seveniruby
#6楼 @sanlengjingvv
#7楼 @sunya
非常感谢你们的热心解答,目前问题得以解决,离不开你们的帮助
具体做法:
测试版:客户端信任所有证书,这样抓包工具的证书就会生效,可以抓到项目包
正式版:客户端只信任服务器证书,只要拿不到服务器的证书,就抓不到包
它们由一个开关来控制
over

Heyniu 关闭了讨论 19 Oct 15:08

楼主,我最近抓包也遇到了同样的问题,想问一下具体做法是需要开发在客户端的项目里面添加信任证书的代码是吗?

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up