WIRESHARK之SSL解密

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

要求

    • 以下基本知识:
  • ? 网络追踪

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

    ? 证书和公私钥的使用

    ? Wireshark网络协议分析仪

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

背景

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

步骤

Wireshark 设置

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

    • 从菜单中选择Edit > Preferences.

    • 打开Preferences 窗口,展开Protocols.

    • 下拉选择 SSL.

    • 在RSA keys list后的空白处,提供以下信息 , , , (如上图所示)
      其中:
      是具有私钥的服务器或设备的IP地址
      是SSL/TLS端口号,通常是443
      通常是HTTP
      是私钥的名称和路径is the location and file name of the private key
      Note:
      逗号间没有符号。而且,使用分号间隔用于不同条目。
      “ , , , ; , , , ; , , , ”.
    • SSL debug file后的空白处填入排错文件的路径和文件名
    • 点击 OK.
    • SSL则被解密(解密的SSL如下图所示)

私钥格式

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)格式如下:

注意密钥开头为:

-----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


<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(17058) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
要在Wireshark中抓取和解密HTTPS数据包,需要进行以下配置步骤: 1. 首先,确保你已经安装了最新版本的Wireshark。你可以从Wireshark官方网站(https://www.wireshark.org)下载适用于你操作系统的版本。 2. 在Wireshark中打开“偏好设置”对话框。在Windows中,你可以通过点击菜单栏的“编辑”选项,然后选择“首选项”来打开它。在macOS中,你可以点击菜单栏的“Wireshark”,然后选择“首选项”。 3. 在“首选项”对话框中,找到并点击左侧的“协议”选项。 4. 在右侧的协议列表中,找到并展开“SSL”协议。 5. 点击“SSL”协议下的“解密密钥列表”。 6. 在“解密密钥列表”对话框中,点击“+”按钮添加一个新的解密密钥。 7. 在“新解密密钥”对话框中,选择所使用的密钥类型。对于HTTPS通信,你需要选择“RSA”或“DSA”。 8. 输入相应的IP地址和端口范围。如果你只想解密特定的HTTPS通信,请输入相应的目标服务器IP地址和HTTPS端口(一般为443)。 9. 选择合适的密钥文件类型。如果你有私钥文件(通常是.pem或.p12格式),请选择“从文件导入”选项。如果你知道服务器的预共享密钥,可以选择“使用预共享密钥”。 10. 根据选择的密钥文件类型,设置相应的密钥文件路径或预共享密钥。 11. 点击“应用”和“确定”按钮保存配置。 12. 现在,重新启动Wireshark并开始捕获HTTPS流量。在过滤器中输入“ssl”以过滤显示HTTPS流量。 请注意,为了成功解密HTTPS流量,你需要具有服务器的私钥或预共享密钥。如果你没有这些信息,将无法成功解密HTTPS数据包。此外,解密HTTPS流量可能涉及到违反服务器所有者的隐私政策和法律规定,所以请确保你在合法授权的情况下进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kelsel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值