如何查看网络上发出的 http 请求?

如何查看网络上发出的 http 请求?

我有一部 Android 手机,上面有一个应用程序。该应用程序使用 API。现在,我想知道这个 API 的 URL。我确定手机使用一些 HTTP 请求与应用程序连接。我还想知道什么样的 HTTP 请求及其参数。

我猜,获取该 URL 的最简单方法是将我的 Android 手机连接到我自己的私人 WiFi 网络,然后获取所有 HTTP 请求的列表,然后挑选出我的手机正在使用的那个。

所以我的问题是:如何查看我的 wifi 网络上的所有 HTTP 请求?是 WireShark 吗?如果是,我如何查看实际的帖子?

(这是正确的论坛吗?这绝对不是 StackOverflow,我猜这是一个“网络”问题......)

答案1

WireShark 可以工作,但您必须将请求路由到运行 WireShark 的计算机。您的 WiFi 路由器可能有其他端口,但它们可能使用内部交换机连接,因此您不会在其他端口上看到 WiFi 流量。

最简单的方法是,如果您有一个可以在路由器和互联网源(可能是电缆或 DSL 调制解调器)之间连接的 Hub,然后将运行 WireShark 的计算机放在 Hub 的另一个端口上。

如果您的计算机有两个以太网端口,您可能能够通过该端口路由流量,并运行 WireShark 来查看流量。

ARP 中毒可能也有效,但更复杂。不过,这只是使用 WiFi 网络上的另一台计算机的一种选择。

以上所有假设您使用的是 HTTP 而非 HTTPS。使用 HTTPS,您将无法看到实际的流量内容,但仍应该能够看到目的地的 IP 地址,并且可能能够看到初始 DNS 查找。

相关内容