WIRESHARK之SSL解密

http://blog.chinaunix.net/uid-24709751-id-3643187.html

本文介绍在Wireshark网络协议分析仪中如果解密SSL和TLS流量

要求

以下基本知识:

? 网络追踪

? 网络,TCP/IP和SSL/TLS协议

? 证书和公私钥的使用

? Wireshark网络协议分析仪

Wireshark 软件支持SSL解密
服务器或设备的私钥,私钥格式为PKCS#8 PEM

背景

在Wireshark中,SSL解析器功能完整,且支持高级特性,如提供加密私钥时的SSL解密。这对于使用SSL或TLS加密的思杰产品的排错有很大的帮助。

步骤

Wireshark 设置

在Wireshark中,SSL解析器功能完整,且支持高级特性,如提供加密私钥时的SSL解密。这对于使用SSL或TLS加密的思杰产品的排错有很大的帮助。

WIRESHARK之SSL解密_第1张图片

从菜单中选择 Edit > Preferences.

WIRESHARK之SSL解密_第2张图片

打开 Preferences 窗口,展开 Protocols.

WIRESHARK之SSL解密_第3张图片

下拉选择 SSL.

WIRESHARK之SSL解密_第4张图片

在RSA keys list后的空白处(新版本是新建RSA key list),提供以下信息,,, (如上图所示)
其中:
是具有私钥的服务器或设备的IP地址
是SSL/TLS端口号,通常是443
通常是HTTP
是私钥( 注:自己测试了一下,用服务器私钥就可解密,但由非对称加密原理推理出,某些可能时候可能还需要客户端私钥)的名称和路径 (需要转换成未加密的私钥,使用如下命令:openssl rsa -in serverkey.pem > clearkey.pem)
Note:
逗号间没有符号。而且,使用分号间隔用于不同条目。
,,,;,,,;,,,”.( 注意,可能需要安装CA,并且解析TLS需要使用高版本的wireshark。
SSL debug file后的空白处填入排错文件的路径和文件名 (注意,这里不是保存的抓包数据文件)
点击 OK (然后再抓包或者再打开保存的抓包数据文件)
SSL则被解密,解密的SSL如下图所示 (上图中“Protocal 为SSLV3,Info 为Application Data”的数据已经被解密为:“Protocal 为HTTP,Info 为XXXXXX”)

WIRESHARK之SSL解密_第5张图片

私钥格式

Wireshark只要有私钥就可以解密SSL流量。私钥需要时decrypted PKCS#8 PEM format (RSA)格式。你可以打开私钥看它的内容。如果是二进制,则是DER格式,不能用于Wireshark解密。

你可以使用OpenSSL转换密钥格式。例如,可以将PKCS#8 DER格式的密钥转化成decrypted PKCS#8 PEM format (RSA)格式。在$提示符后输入如下指令:

openssl pkcs8 -nocrypt -in der.key -informat DER -out pem.key -outformat PEM

其中:

der.key 是DER密钥文件的文件名和路径

pem.key是pem文件的文件名和路径

解密后的decrypted PKCS#8 PEM format (RSA)格式如下:

WIRESHARK之SSL解密_第6张图片

注意密钥开头为:

-----BEGIN RSA PRIVATE KEY-----

如果开头为:

-----BEGIN ENCRYPTED PRIVATE KEY-----

则这个密钥需要用适当的方法解密。OpenSSL可以实现。

At the $ prompt, enter the command: 在$提示符,输入命令:
openssl rsa

If you enter this command without arguments, you are prompted as follows: 如果输入指令不带参数,则出现以下字样:
read RSA key
输入解密的私钥文件名

你可以在openssl rsa后加上参数,假如你知道私钥和解密的PEM的文件名。例如,私钥的文件名是myprivkey.pvk和解密的文件名问keyout.pem,命令如下:
openssl rsa –in myprivkeypvk -out keyout.pem

附加信息

http://www.wireshark.org/

http://wiki.wireshark.org/SSL

http://www.wireshark.org/docs/dfref/s/ssl.html

http://www.openssl.org/docs/apps/rsa.html#EXAMPLES

http://sourceforge.net/project/showfiles.php?group_id=23617&release_id=4880


你可能感兴趣的:(网络)