3

我希望你能原谅我的糟糕/糟糕的英语。

我很确定这是一个非常幼稚的问题,但我需要解决这个问题。

我在 JBOSS AS 7 服务器上运行应用程序,并通过在我的 Standalone.xml 文件中添加以下行来启用 HTTPS 连接:

<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">
    <ssl name="ssl" password="password" protocol="TLSv1"/>
</connector>

现在,如果我尝试使用此 url 通过网络浏览器访问我的应用程序:

https://localhost:8443/myapp/

在我接受我的自制证书后,浏览器告诉我连接是使用 TLS 协议建立的,并由 AES 128 加密。一切看起来都很好。

但是当我在服务器上使用 Wireshark 并尝试使用位于本地网络中的计算机访问我的应用程序时,没有 TLS 的痕迹,而只有 TCP 连接(似乎是加密的)。

另一方面,如果我尝试访问 HTTPS Web 服务器,Wireshark 会告诉我正在使用的协议是 TLS。我现在很困惑。

所以这是我的问题:我的连接是否还在 TLS 上工作?如果不是,可能是什么问题(可能是端口 8443 不是 HTTPS 的标准端口?)?

如果我不是很清楚,或者我没有提供足够的信息,请告诉我。

最好的问候, PDauph。

4

2 回答 2

4

我怀疑您的连接正在使用 TLS。Wireshark 不会自动识别所有协议。它使用启发式方法(包括端口号)来尝试确定连接上的分层协议。如果您使用的是非标准端口(如 8443),那么 Wireshark 可能不会将连接解释为 TLS,即使它实际上是。

当 Wireshark 自己没有选择正确的协议时,您可以手动告诉 Wireshark 将连接解码为特定协议。右键单击其中一个数据包,然后从上下文菜单中选择“解码为...”。然后选择 SSL 作为传输协议。Wireshark 现在应该尝试将连接解析为 SSL/TLS 流。

这是有关 Wireshark 解码的文档

于 2013-07-02T17:01:13.827 回答
0

This is indeed caused because, by default, Wireshark does not consider 8443 to establish a HTTPS/SSL connection.

In addition to dealing with decoders, this can be configured rather easily in the preferences:

  1. Open up the Preferences (menu: Edit -> Preferences, key: Ctrl+Shift+P)

  2. Choose the Protocols -> HTTP preference page

  3. Then for SSL/TLS Ports use "443,8443" (or as appropriate)

Then the next time data is captured it will have appropriate HTTPS/SSL decoder applied.

于 2015-12-30T01:56:06.187 回答