配置 Tomcat 和 Wireshark 来获取并解码 SSL 通信 -1 前言
 
- UID
- 1066743
|

配置 Tomcat 和 Wireshark 来获取并解码 SSL 通信 -1 前言
前言开发一个涉及网络通信的系统,在今天的分布式世界是极为普遍的。在开发这类系统的过程中,一个通信问题可能会使得评估或者调试软件变得困难。这时,您可以借助像 Wireshark 这样的工具,它可以捕获您系统中的所有网络流量,并使您能够进行读取。它常常为解决问题提供所需的洞察力。如果您的系统使用 SSL 保障通信,那么虽然您可以捕获网络流量,但是这些数据都经过了加密,使开发人员无法从中获取任何有用信息。幸运的是,带有 SSL Dissector 的 Wireshark,如果加以正确配置,就能解密已捕获的流量数据。本教程会分步指导如何设置这些条件,把 Tomcat 用作服务器,把浏览器当做客户机。
目标学习过本教程后,您将会了解到怎样设置各种条件来使 Wireshark 的 SSL Dissector 正常工作。不仅如此,您还可以在 Tomcat 的安装中配置这些条件以使其得以满足
先决条件本教程的前提是需要您对网络通信机制有一个基本的了解。您不需要有使用 Tomcat 和 Wireshark 的经验,不过如果曾有相关经验将会很有帮助。特别指出,本教程并未对正确配置后如何使用 Wiresharkn 进行深入探讨。
请注意:本教程主旨不在给出为什么 这些命令能够运行的深入说明,或者给出该命令多种可能性的考虑。它的目的是使您能够在开发环境中记录并解码网络流量。需要重点指出的是,随后的过程和在此生成的部分加密工件是非常不安全的,所以一定不能应用于生产环境中。
系统需求本教程设定您当前使用的环境是 Windows®。跟随此教程,您需要先进行如下安装(参见 )
- Tomcat 5.5
- 一个合适 Tomcat 的 JVM
- Wireshark — 版本 1.2.2 用于本教程开发。Wireshark 下载必须 用 GnuTLS 和 Gcrypt 编译。这点可以在 Wireshark 的 “About” 窗口核实。
- Cygwin 包括 openssl — 版本 0.9.8i openssl 用于本教程开发。
- Jetty — 版本 6.1.21 用于本教程开发。其他版本(更新版本和更旧版本)也可以运行,但它所需的各类文件的位置会发生改变。
此外,您还需要另一台机器,利用这台机器上的浏览器来访问您的 Tomcat 服务器。
概述满足下列关键条件才允许 Wireshark 对一个安全连接进行解密:
- 配置 Tomcat 必须有一个服务器证书。
- 用于客户机和服务器(浏览器和 tomcat)之间的特殊加密密码必须能用 Wireshark 的解密方式进行解密。
- Wireshark 必须获得与服务器证书关联的私钥。
本教程将会按这个顺序执行这些步骤,然后使用浏览器连接 Tomcat 服务器,我们将获得一个请求和响应,然后就能在 Wireshark 中进行检查。
关于密码的一点说明在本教程中,您需要设置三个独立的密码。每个密码都被谨慎地命名,在教程中也有引用,但是为了方便应用,您可以考虑设置同一密码应用于三个地方。 |
|
|
|
|
|