安装支持spdy的nginx并且通过wireshark解密spdy协议

  • A+
所属分类:系统文档

 spdy的存在主要是为了解决一些http存在的问题。现在一些主流的代理服务器都已经支持spdy,例如nginx,Apache。本文主要介绍在ubuntu 先安装支持spdy的nginx,以及在win7下安装wireshark,抓取spdy协议。

第一步,编译安装openssl,用于生成nginx服务器证书

view plain copy

  1. cd /tmp  

  2. wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz  

  3. tar zxvpf openssl-1.0.1e.tar.gz  

  4. ./configure  

  5. make  

  6. make install  

第二步,编译安装nginx

view plain copy

  1. cd /tmp  

  2. wget http://nginx.org/download/nginx-1.7.7.tar.gz  

  3. tar zxvpf nginx-1.7.7.tar.gz  

  4. cd nginx-1.7.7  

  5. ./configure --with-http_ssl_module --with-http_spdy_module --with-openssl=/tmp/openssl-1.0.1e  

  6. make  

  7. make install  

第三步,创建一个私钥和证书

生成一个私钥用于测试

view plain copy

  1. cd /temp  

  2. openssl genrsa -des3 -out ./serverkey.pem 2048  

要求输入一个通行密码(通行短语)

生成一个证书用于测试

view plain copy

  1. openssl req -new -x509 -key ./serverkey.pem -out ./servercert.pem -subj  '/C=GB/ST=XX/O="My Org"/CN="Wireshark dissectable Cert"'  

需要输入通行密码

去除私钥的密码保护,下面wireshark解密需要这个私钥

view plain copy

  1. openssl rsa –in ./serverkey.pem –out ./server.pem  

需要输入通行密码

拷贝证书和私钥到nginx的配置目录

view plain copy

  1. sudo cp serverkey*    /usr/local/nginx/conf  

第四步,修改nginx的配置文件,并且启动nginx

修改配置文件

view plain copy

  1.    server {  

  2.        listen       443 ssl spdy;  

  3.        server_name  localhost;  

  4.       

  5. ssl on;  

  6.        ssl_certificate      servercert.pem;  

  7.        ssl_certificate_key  serverkey.pem;  

  8.   

  9.        ssl_session_timeout  5m;  

  10.        #ssl_ciphers  HIGH:!aNULL:!MD5;  

  11. ssl_ciphers  RSA;  

  12.     #ssl_prefer_server_ciphers  on;  

  13.   

  14.        location / {  

  15.            root   html;  

  16.             index  index.html index.htm;  

  17.        }  

  18.    }  

注意ssl_ciphers RSA;,这样做主要是为了wireshark能够对ssl进行解密,如果不这样配置那么即使有了私钥也解密不了。

启动nginx

view plain copy

  1. cd /usr/local/nginx/sbin  

  2. sudo ./nginx  

第五步,在win7上安装最新版的wireshark
安装wireshark

下载地址:https://1.as.dl.wireshark.org/win32/Wireshark-win32-1.12.1.exe

在wireshark的ssl协议中添加私钥

菜单:Edit->Preferences->Protocols->SSL->Edit

安装支持spdy的nginx并且通过wireshark解密spdy协议

解释

nginx服务器ip和端口:192.168.230.136和443

私钥路径:D:\server.pem


第五步,启动wireshark抓取spdy包

启动wireshark,输入过滤条件

安装支持spdy的nginx并且通过wireshark解密spdy协议


打开nginx的首页

通过chrome浏览器打开 https://192.168.230.136

安装支持spdy的nginx并且通过wireshark解密spdy协议

通过wireshark查看抓包结果

安装支持spdy的nginx并且通过wireshark解密spdy协议


最后要感谢以下两位的博客,参考了他们的很多东西。

https://www.sinosky.org/ssl-and-spdy-enabled.html

http://www.ibm.com/developerworks/cn/web/tutorials/wa-tomcat/

from:

http://blog.csdn.net/chq123456/article/details/40710611

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: