当前位置: 首页 > 知识库问答 >
问题:

无法将Fiddler代理与Android Emulator一起使用

钦永贞
2023-03-14

我想通过主机上的Fiddler应用程序从仿真设备捕获所有流量。经过我所有的尝试,我最终得到了无限数量的超时CONNECT请求,即使是在HTTP(非HTTPS)请求上。

我所做的:

Android模拟器代理设置:

小提琴手设置:

将以下行添加到主机主机文件:127.0.0.1local.test和Android设备主机文件:10.0.2.2local.test。这样做是为了1)防止Chrome强制切换到HTTPS 2)将此名称指向正确的IP地址,因为它在主机和Android系统上是不同的。

将FiddlerRoot证书从DER格式转换为PEM(以BEGIN CERTIFICATE行开头)并将其存储到电话文件系统:/system/etc/security/cacerts/c8450d0d.0具有正确的权限:

使用带有可写文件系统的Google-API映像(Android 9)对Android进行了添加。

此根证书出现在系统根证书列表中:

FiddlerRoot证书也成功安装在主机上,并且没有问题地解密HTTPS流量:

在结果中:

当我在android emulator中关闭代理时,我可以使用自定义域名访问本地应用程序。测试:3200。我也可以访问互联网html" target="_blank">网站,没有任何问题。

当我在android模拟器中打开代理时,我看到很多CONNECT请求一直超时:

当我尝试访问我的本地HTTP应用程序http://local.test:3200时,我会收到到指定端口的HTTPS CONNECT请求:

为什么它尝试通过HTTPS连接到端口3200???只有当Android Emulator代理打开时,才会出现此问题。关闭后,我可以通过HTTP成功访问本地页面。是模拟器应用程序尝试切换到HTTPS吗?或者我做错了什么?

目前,我无法捕获和解码来自模拟设备的任何流量。谁能帮帮我吗?

共有1个答案

郎飞航
2023-03-14

我也遇到了这个问题。Fiddler可以正确处理和拦截对端口80的HTTPhtml" target="_blank">请求,但不能处理对其他端口的HTTP请求或HTTPS请求。

事实证明这是Android Emulator的一个错误(应该在2014年修复,但补丁从未进入开发分支,因此永远不会修复)。它与在代理响应中添加额外标头的HTTP代理服务器(如Proxy-Agent: xxxFiddlerGateway: DirectHTTP/1.1 200连接建立之后。

请尝试我的gost无头分叉,它充当代理服务器,并能够转发到其他代理服务器:https://github.com/shunf4/gost/releases/tag/v2.11.1-without-header

你就这样跑吧

gost(.exe) -L :8090 -F (Upstream HTTP proxy server address, e.g. http://127.0.0.1:3408)

将您的HTTP代理转换为没有额外标头的代理。然后,在Android模拟器中将代理服务器设置为127.0.0.1:8090。砰,一切正常!

 类似资料:
  • 问题内容: 可以将node.js设置为识别代理(例如Fiddler)并通过代理路由所有ClientRequest吗? 我在Windows上使用节点,并且想要调试http请求,就像在浏览器中使用Fiddler for JavaScript一样。 请注意,我不是在尝试创建代理,也不是在尝试接收服务器收到的代理请求。我想路由通过代理发出的请求。我想像在浏览器中执行请求一样,使用Fiddler来检查请求和

  • 问题内容: 每个开启器基本版本是否可以通过一个袜子服务器上的SOCKS代理使用urllib2来获取页面?我已经看到了使用setdefaultproxy方法的解决方案,但是我需要在不同的开瓶器中使用不同的袜子。 因此,有一个SocksiPy库,它很好用,但是必须以这种方式使用: 也就是说,它为所有urllib2请求设置相同的代理。如何为不同的开瓶器使用不同的代理? 问题答案: 尝试使用pycurl:

  • 我目前正在将IntelliJ IDE用于复杂的GWT项目。我想在GWT的开发模式中利用JRebel,所以最近我为IntelliJ安装了JRebel插件,但在使其工作时遇到了麻烦。 基本上IntelliJ不具备在更改时自动编译应用程序的能力,所以每当您对代码进行更改时,我都必须进行编译- 信息:使用JavaC1.7.0_21编译java源代码信息:15个错误信息:0个警告信息:编译完成,9分钟5秒内

  • 我正在使用ssh-D创建套接字代理,想知道如何使用pip(或easy\u install)吗?我找到了这个问题,但那是一个http代理。 另外,请给我一个在OS X下工作的解决方案。(我尝试了proxifier,它可以与pip安装一起工作,但不能与sudo pip安装一起工作)

  • 我最近安装了Xcode8测试版5。在我的MAC 10.11.6上的Appium 1.6.0测试版现在,在阅读了所有的论坛并使Appium启动并启动我的应用程序后,我无法找到如何用这个Appium 1.6.0测试版启动我的inspector和在我的应用程序中找到元素。如何使用appium 1.6.0测试版启动inspector?如果不能,我们如何找到xpath或找到元素??

  • IntelliJ IDEA 2018.2.3(终极版) 楼#IU-182.4323.46,建于2018年9月3日 jre:1.8.0_152-release-1248-b8 amd64 JVM:OpenJDK 64位服务器VM by JetBrains s.r.o Windows 10 10.0 插件:VisualVM启动器(1.10.138.2210) 当我单击Run选项卡中的launcher图