<分区>
首先对不起我的英语。
我需要捕获从我的 android 应用程序到 web 服务的数据包,如果它真的被加密了。
为此,我打开了手机的wifi 热点。
之后,我将我的电脑连接到该 wifi 以便能够使用 wireshark 观察该网络。
然后我运行了 Wireshark 程序并开始观察那个 wifi 网络。
当我从我的 Android 应用程序发送 HTTPS POST 请求时,我希望看到 HTTP 协议(protocol)数据包。
但是我看不到。相反,我看到了一些 TCP 和 QUIC 协议(protocol)数据包。实际上 QUIC 数据包有一个字段,上面写着“加密”,这是我想看到的,但我知道它是 UDP 数据包,我不知道为什么还有很多 UDP 数据包,我认为它们不是我需要的(但不是当然)。
实际上有时我会收到 HTTP 数据包,但主机是 ssw.live.com。但我的目标主机实际上是不同的。所以这不是我想要捕捉的。
以下是我的 HTTP 请求
HttpsURLConnection urlConnection = setUpHttpsConnection(url.toString());
try {
urlConnection.setRequestMethod("POST");
} catch (ProtocolException e) {
e.printStackTrace();
}
urlConnection.setRequestProperty("Content-Type", "text/plain; charset=utf-8");
urlConnection.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
HostnameVerifier hv =
HttpsURLConnection.getDefaultHostnameVerifier();
return hv.verify("my.hostname.com.tr", sslSession);
}
});
以下是我发送http post 请求后的截图。只有一个HTTP包,没有关联。
在该 HTTP 数据包内;
主机名不同。
我也尝试在我的电脑上打开一些网站,看看我的电脑是否可以捕获我的数据包,但它有时不发送HTTP协议(protocol)数据包,而我希望打开一些网站。
我想知道我写的那些有没有不合理的地方。
是否可以使用这种方式捕获从我的手机发出的数据包?
如果是这样,为什么我看不到它们?
任何想法将不胜感激。提前致谢。