`
shappy1978
  • 浏览: 712968 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Wireshark & HTTPS

 
阅读更多

So it seems that wireshark is no suitable for https sniffer.

总结,如果是处理HTTP,HTTPS 还是用Fiddler

//************************************************************************************

本文根据个人经验介绍如何用Wireshark(Ethereal的新名字)去查看捕捉到的SSL(包括HTTPS)里被加密的消息。

大家在使用Tomcat等服务器配置成HTTPS(基于TLS/SSL)后,调试时往往需要用Wireshark去抓包,并希望查看其中的HTTP消息。但是HTTPS的通讯是加密的,所以默认情况下你只能看到HTTPS在建立连接之初的交互证书和协商的几个消息而已,真正的业务数据(HTTP消息)是被加密的,你必须借助服务器密钥(私钥)才能查看。即使在HTTPS双向认证(服务器验证客户端证书)的情况下,你也只需要服务器私钥就可以查看HTTPS消息里的加密内容。
注:如何配置HTTPS服务器可以参考《如何用Tomcat和Openssl构建HTTPS双向认证环境(HTTPS客户端认证)》。 
 
1. 配置Wireshark

选中Wireshark主菜单Edit->Preferences,将打开一个配置窗口;窗口左侧是一棵树(目录),你打开其中的Protocols,将列出所有Wireshark支持的协议;在其中找到SSL并选中,右边窗口里将列出几个参数,其中“RSA keys list”即用于配置服务器私钥。该配置的格式为:
     <ip>,<port>,<protocol>,<key_file_name>
 
各字段的含义为:
     <ip>    ---- 服务器IP地址(对于HTTPS即为WEB服务器)。
     <port>  ---- SSL的端口(HTTPS的端口,如443,8443)。
     <protocol> ---- 表示SSL里加密的是什么协议,对于HTTPS,这项应该填HTTP。
     <key_file_name> ---- 服务器密钥文件,文件里的私钥必须是明文(没有密码保护的格式)。
例如: 192.168.1.1,8443,http,C:/myserverkey/serverkey.pem
 
若你想设置多组这样的配置,可以用分号隔开,如:
   192.168.1.1,8443,http,C:/myserverkey/clearkey.pem;10.10.1.2,443,http,C:/myserverkey/clearkey2.pem 
 
2. 导出服务器密钥(私钥)的明文格式(即前面提到的<key_file_name>)

大家当初在配置HTTPS服务器,服务器私钥时,一般都会输入一个保护私钥的密码。那如何导出明文形式的服务器私钥呢,需要视情况而定:
 
(1)若你是像《如何用Tomcat和Openssl构建HTTPS双向认证环境(HTTPS客户端认证)》里所述的那样,用类似于如下命令生成服务器私钥的:
   openssl req -newkey rsa:1024 -keyout serverkey.pem -keyform PEM -out serverreq.pem /
            -outform PEM -subj "/O=ABCom/OU=servers/CN=servername"M

而且你的服务器私钥文件serverkey.pem还在,则可以这样导出服务器私钥明文文件:
   openssl rsa -in serverkey.pem > clearkey.pem
 
执行命令式需要输入私钥的保护密码就可以得到私钥明文文件clearkey.pem了。
 
(2)若你已把serverkey.pem丢了,但还有pkcs12格式的服务器证书库文件,该文件当初用类似于以下命令生成的:
   openssl pkcs12 -export -in servercert.pem -inkey serverkey.pem /
                        -out tomcat.p12 -name tomcat -CAfile "$HOME/testca/cacert.pem" /
                        -caname root -chain
则,你可以用下面命令把服务器私钥从tomcat.p12(pkcs12格式)文件里导出来:
   openssl pkcs12 -in tomcat.p12 -nocerts -nodes -out clearkey.pem
 
执行命令式需要输入pkcs12的保护密码。
然后编辑一下生成的clearkey.pem文件,把“-----BEGIN RSA PRIVATE KEY-----”之前的内容删掉就可以了。
 
(3)若你的服务器私钥是用java的keytool命令生成的keystore文件,则要弄出来比较麻烦,建议服务器keystore最好用《如何用Tomcat和Openssl构建HTTPS双向认证环境(HTTPS客户端认证)》里的openssl生成服务器公钥私钥和证书的方法,生成pkcs12格式的keystore。

分享到:
评论

相关推荐

    wireshark&win10pcap/Wireshark-win64-2.2.2.exe

    wireshark&win10pcap/Wireshark-win64-2.2.2.exe,抓包工具

    Syngress - Wireshark & Ethereal Network Protocol Analyzer Toolkit.2007

    6/159 Syngress - Wireshark & Ethereal Network Protocol Analyzer Toolkit.2007

    wireshark&amp;win10Pcap;.rar

    Wireshark是一款强大的网络封包分析软件,常用于网络故障排查、网络安全分析和协议开发等领域。它能够捕获网络上的数据包,并以直观的方式显示其详细信息,包括源和目标地址、端口号、协议类型以及数据包内容等。在...

    wireshark&win10pcap;安装包

    解压后又wireshar和win10pcap,在win10上成功安装wireshark,亲测成功!解压密码:123

    用Wireshark简单分析HTTPS传输过程-抓包过程 - manjingliu的编程之旅 - CSDN博客1

    在本文中,我们将探讨如何使用Wireshark来分析HTTPS(HTTP over SSL/TLS)的传输过程。 HTTPS是一种安全的网络通信协议,它通过在HTTP协议的基础上加入SSL/TLS层来提供数据加密、服务器身份验证和消息完整性检查,...

    使用wireshark 抓取并解密https分析报告

    ### 使用Wireshark抓取并解密HTTPS分析报告 #### 实验工具 - 操作系统:Windows - Wireshark版本:2.2.1.0 #### 原理分析 ##### 2.1 HTTPS协议分析 HTTPS(Hypertext Transfer Protocol Secure)是一种安全的HTTP...

    Wireshark解密https流量.pdf

    ### Wireshark解密HTTPS流量详解 #### 一、引言 随着互联网技术的发展与普及,网络安全成为企业和个人用户关注的重点。HTTPS作为一种安全的HTTP协议版本,在数据传输过程中使用SSL/TLS加密技术来确保信息安全。然而...

    wireshark-gm-wireshark

    Wireshark-GM-Wireshark 是一个专为中国用户定制的Wireshark版本,它集成了许多方便国内用户的功能和优化。Wireshark是一款全球知名的网络封包分析软件,广泛用于网络故障排查、性能分析以及网络安全检测。在这个...

    wireshark抓包工具&&appscan漏洞扫描

    wireshark抓包工具&&appscan漏洞扫描

    Troubleshooting with Wireshark

    标题《使用Wireshark进行故障排除》和描述《Troubleshooting with Wireshark英文文档》共同指向了一个专业的网络分析和故障排除工具——Wireshark。Wireshark是一款广泛使用的开源网络协议分析器,能够让网络管理员...

    国密SSL的wireshark解析脚本gmssl-wireshark-main.zip

    《深入理解国密SSL与Wireshark解析脚本——gmssl_wireshark-main.zip详解》 国密SSL,全称为“国家商用密码SSL”,是中国自主研发的网络安全协议,旨在保护国内互联网通信的安全性和隐私性。它基于国际SSL/TLS协议...

    Wireshark 解析插件(lua源码)

    wireshark Wireshark 解析插件(lua源码) Wireshark 解析插件(lua源码) Wireshark 解析插件(lua源码) Wireshark 解析插件(lua源码) Wireshark 解析插件(lua源码) Wireshark 解析插件(lua源码) Wireshark...

    Wireshark从入门到精通视频.zip

    0.1 Wireshark协议分析从入门到精通课程介绍.mp4 1.1.1 Wireshark安装入门之软件介绍.mp4 1.1.2 Wireshark安装入门之抓包原理.mp4 1.1.3 WireShark安装入门之初始安装.mp4 1.1.4 WireShark安装入门之快速抓包.mp4 ...

    wireshark 包解析插件

    该资源为用脚本编写的适用于wireshark的一个新的协议。即当wireshark不能及时解析一些新的协议时,可以自己动手根据新协议字段编写解析文件。有新协议的话可以基于此脚本改写. 使用方法: 1. 打开wireshark根目录中...

    Wireshark网络分析的艺术_wireshark_

    Wireshark,作为全球最广泛使用的网络封包分析软件,是网络诊断、协议学习和安全分析的重要工具。这本书《Wireshark网络分析的艺术》深入探讨了如何有效地利用Wireshark来理解和解决网络问题,同时也提供了关于网络...

    wireshark-3.0.2.tar.gz

    Wireshark是一款强大的网络封包分析软件,常用于网络故障排查、网络安全分析和协议开发等场景。标题中的"wireshark-3.0.2.tar.gz"表明我们要讨论的是Wireshark的3.0.2版本,这是一个源码压缩包,通常需要编译安装。...

    wireshark进行手机抓包,有详细步骤

    Wireshark抓包结果中,我们可以看到手机产生的网络流量,包括HTTP、HTTPS、FTP、SMTP等协议的数据包。我们可以根据需求选择要分析的协议和内容,例如: * 分析HTTP流量,了解手机上的Web应用程序如何与服务器交互。...

    ubuntu20.04离线安装wireshark3.2.3

    wget -qO - https://www.wireshark.org/key/wireshark-archive-keyring.gpg | sudo apt-key add - ``` 3. **创建软件包列表** 创建一个文件来包含Wireshark的源信息,比如`/etc/apt/sources.list.d/wireshark....

    wireshark怎么抓包

    wireshark

    wireshark MQTT协议抓取

    Wireshark是一款强大的网络封包分析软件,常用于网络故障排查、网络安全分析和协议学习。在本场景中,我们关注的是使用Wireshark抓取和分析MQTT(Message Queuing Telemetry Transport)协议的数据包。MQTT是一种轻...

Global site tag (gtag.js) - Google Analytics