前提:电脑,手机已成功安装证书,电脑开的热点,手机连接热点可访问网络,通过浏览器访问网页,或者其他 app,正常,fiddler 显示正常,可捕捉相应请求。
问题:待抓包的 app,却显示无法通信。这个 app 在其他网络下或者关掉都可以访问浏览。唯独 fiddler 打开,代理打开后,无法联网
疑惑:待抓包的 app 使用的是 https 通信,但是 Fiddler 配置 HTTPS 相关内容,而且浏览器打开https://www.baidu.com等可以正常访问,那么是什么问题导致无法通信呢?
补充:如下图,只捕捉到这一个请求
刚才使用了 boss 直聘的 app,用的好像也是 https,可以正常访问抓包。。。奇了怪了
应该是有的 app 限制了代理是无法上网的,比如银联支付的 SDK,配置了代理就会提示网络问题
原生页面有什么影响么?定位出来无法通信的时候报这个日志:java.security.cert.CertPathValidatorException: Trust anchor for certification path not found。看意思是证书有问题,但没明白证书有问题的话为啥其他 app 可以正常使用呢?
是不是 connect 连接方式
你不是说 “发现 app 中有些请求是能通信的,有些是不能通信的” 我猜测可能是 app 原生页面的原因,没有网络也是能用的 我是这个意思
https://testerhome.com/topics/2651 相同的问题你可以借鉴一下 解决了的话记得回复下哈
APP 走代理无网络连接可能是 APP http head 作了限制,楼主可以尝试 http head user-agent 头改成手机格式。
之前在用 loadrunner 进行 APP 性能测试的时候我也遇到过类似问题
如果是自己公司的 APP, 问一下开发,是不是关了系统代理。
Android 可以设置请求不走系统代理。
参考:https://blog.csdn.net/a807891033/article/details/53643550
“app 中有些请求是能通信的,有些是不能通信的” 初步猜测是因为不同的请求访问的是不同的服务器引起的,至于为什么有待定位
2 个办法,1 个喊开发禁了 connect 连接改其他连接,还有一个你再试试http://blog.51cto.com/12390959/2149749这个看看,要是还是不行我也不知道了
手机没装证书?
对于 iOS 系统,需要在设置—》通用—》关于本机 —》证书信任设置中将证书信任开关打开
我抓包是 https 百度和其他一下网站能抓
但是抓某 app 的时候 https 都是提示
400 No required SSL certificate was sent
我查过好像是 app 证书双向认证的问题
要反编译 app 包 然后找到证书 在反编译 APP 代码 找到证书密码 才可以
不知道是不是这样
soul APP 开发小伙伴将证书放到 ipa 包里面的,哈哈
如果遇到这种问题也是可以抓包的,思路是将获取的证书可以导出来,具体操作不太熟悉