编辑点评:

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

wireshark中文版最新版

软件简介

知识兔

Wireshark(前称Ethereal)是一款免费开源的网络嗅探抓包工具,世界上最流行的网络协议分析器!网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark网络抓包工具使用WinPCAP作为接口,直接与网卡进行数据报文交换,可以实时检测网络通讯数据,检测其抓取的网络通讯数据快照文件,通过图形界面浏览这些数据,可以查看网络通讯数据包中每一层的详细内容。它的强大特性:例如包含有强显示过滤器语言和查看TCP会话重构流的能力,支持上百种协议和媒体类型。

wireshark抓包新手使用教程

知识兔

Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息。常用于开发测试过程各种问题定位。本文主要内容包括:

1、Wireshark软件下载和安装以及Wireshark主界面介绍。

2、WireShark简单抓包示例。通过该例子学会怎么抓包以及如何简单查看分析数据包内容。

3、Wireshark过滤器使用。通过过滤器可以筛选出想要分析的内容。包括按照协议过滤、端口和主机名过滤、数据包内容过滤。

软件说明

知识兔

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark.

WireShark 主要分为这几个界面

1. Display Filter(显示过滤器),聽 用于过滤

2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表

3. Packet Details Pane(封包详细信息), 显示封包中的字段

4. Dissector Pane(16进制数据)

5. Miscellanous(地址栏,杂项)

Wireshark解密HTTPS流量的两种方法

知识兔

知识兔先回顾一下SSL/TLS的整个握手过程:

(1) Clienthello:发送客户端的功能和首选项给服务器,在连接建立后,当希望重协商、或者响应服务器的重协商请求时会发送。

(2) version:客户端支持的最佳协议版本

(3) Random:共32字节,28字节随机数,4字节额外信息,受客户端时钟影响(为了避免浏览器指纹采集,现在一般会对4字节时钟做扭曲)

(4) Session ID:32字节随机数,用于和服务器重建会话,为空表示新建会话

(5) cipher suit:客户端支持的所有密码套件,按优先级排列

(6) Compression:客户端支持的压缩算法,默认无压缩

(7) Extensions:由任意数量的扩展组成,携带额外数据

(8) ServerHello:

选择客户端分享的参数反馈客户端

服务器无需支持客户端支持的最佳版本,如果服务器不支持客户端版本,可以分享其他版本以期待客户端可以接受

(9) Certificate:

用于携带服务器X.509证书链

主证书必须第一个发送,中间证书按照正确的顺序跟在主证书之后

服务器必须保证发送的证书和选择的算法套件一致

Certificate消息时可选的

(10) ServerKeyExchange:携带密钥交换的额外数据,取决于加密套件

(11) ServerHelloDone:服务器已将所有预计的握手消息发送完毕

(12) ClientkeyExchange:携带客户端为密钥交换分享的信息

(13) ChangeCipherSpec:发送端已取得用以连接参数的足够的信息

(14) Finish:握手完成,消息内容加密,双方可以交换验证,整个握手完整性所需的数据

(15) 算法:verrify_data = PRF(master_secret , finished_label,hash(handshake_message))

要解密HTTPS流量,需要得到加密密钥,加密密钥由主密钥、客户端随机数、服务器随机数生成。由上述握手过程可知,客户端随机数和服务器随机数在双方握手消息中传递,而主密钥(master_secret)则由预主密钥(pre_master_secret)结合两个随机数生成。预主密钥通过密码套件中的密钥交换算法进行交换(DH、RSA)。

因此,通过Wireshark解密HTTPS,可以从两个地方下手:

密钥交换算法选择RSA,然后提取服务器的私钥,将私钥导入Wireshark,通过Wireshark解密密钥交换过程中传递的预主密钥,再结合之前的客户端和服务器随机数生成主密钥,进一步生成加密密钥,即可解密后续抓取到的加密报文。

直接从客户端提取主密钥,结合客户端和服务器随机数生成加密密钥,实现对加密报文的解密。

下面演示两种方法解密HTTPS流量。

方法一

从服务器上导出带私钥的P12格式的证书,或者直接导出服务器的私钥。

捕获从TCP三次握手开始的完整报文:

Wireshark解密HTTPS流量的两种方法

可以看到此时的报文是被TLS加密的,无法看到具体的报文内容。

点击编辑——>首选项——>协议——>SSL(有的版本只有TLS),导入RSA key:

Wireshark解密HTTPS流量的两种方法

由于通过DH方法交换的密钥不会在中间传递,所以这种方法只能解密通过RSA交换的密钥。

导入服务器证书:

Wireshark解密HTTPS流量的两种方法

点击ok后,Wireshark会对捕获的报文进行解密:

Wireshark解密HTTPS流量的两种方法

报文被成功解密,可以直观的看到HTTP报文的请求和响应。

第二种

通过设置环境变量截取浏览器的master_secret,进而实现解密HTTPS的目的。

环境变量中新建用户变量SSLKEYLOGFILE=路径\sslkey.log文件,之后再wireshark中ssl配置中制定该文件位置即可。

Wireshark解密HTTPS流量的两种方法

点击编辑>首选项>protocol>ssl:

Wireshark解密HTTPS流量的两种方法

即可解密浏览器的访问流量:

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载