我尝试使用带有 HTTP 工具包的模拟器来监控 Android 流量

问题描述 投票:0回答:1

我确保模拟器根已启用。

HTTP 工具包应用程序已连接到电脑:

https://i.sstatic.net/TMiefirJ.png

当我查看模拟器上发出的请求时,有些请求被中止

https://i.sstatic.net/e8uTTRZv.png

当 Toolkit 开启时,无法在模拟器上访问网页

https://i.sstatic.net/6r8lXhBM.png

这是我点击不成功的请求时显示的消息

https://i.sstatic.net/O9tsmVz1.png

android android-emulator http-post http-toolkit
1个回答
0
投票

显示的错误(“上游服务器具有不受信任的 HTTPS 证书”)意味着这是 HTTP Toolkit 和目标服务器之间的连接问题,而不是 Android 设备和 HTTP Toolkit 之间的连接问题。

很可能的问题是您的目标服务器具有通常不受信任的 HTTPS 证书。这可以是自签名证书,也可以是组织内部颁发的证书。您可能能够在网络浏览器中重现这一点,打开相同的 URL 将显示正常的“警告”页面。对于 HTTP Toolkit 和浏览器来说,这是被阻止的,因为它不安全 - 因为客户端无法验证证书,它无法知道服务器是否是它所说的那个人。

这是 HTTPS/TLS 安全的关键部分。如果这没有失败,那么任何人都可以创建一个 HTTPS 证书并说他们是 google.com,然后拦截您到 Google 的所有流量(例如)。

假设这就是原因,那么在 HTTP Toolkit 中,在免费社区版中禁用此功能是不可能的,因为它需要高级 TLS 配置,而该配置仅在 Pro 设置中可用。使用 Pro,您可以通过信任颁发此证书的证书颁发机构 (CA) 或完全禁用此主机名的 TLS 验证来解决此问题(禁用此验证可能不安全!)。

另一种可能性是您的流量确实被第三方拦截,例如您正在使用的网络或本地防病毒软件或类似软件正在主动拦截此流量并冒充目标服务器。众所周知,ESET 防病毒软件会通过执行类似的操作来进行不当行为,或者如果您知道您的雇主监控您的网络流量,您可能会意识到这一点。在这种情况下,您可以通过禁用该拦截来解决此问题:使用不同的网络,或在安全软件中禁用 TLS 扫描。

© www.soinside.com 2019 - 2024. All rights reserved.