通常环境下,wireshark只能抓取 http 的明文包,对于 https 的报文必要设置才气抓取
不设置的话,抓取到的都是 TLS 的报文,是加密了的,对调试非常困难
媒介
提到 https 抓包,根本都绕不开一个 SSLKEYLOGFILE 的环境变量
SSLKEYLOGFILE 是由 Mozilla 开发团队起首引入的一个调试功能,随后被 Google Chrome 等欣赏器采取
并成为网络分析工具(如 Wireshark)的非正式行业惯例,并没有构造大概标准界说这个活动,是属于一个究竟上的规范
由 wireshark + chrome 抓 https 包的原理大概就是
1、chrome 发起 https 哀求的时间,会将站点的加密密钥信息存储到 SSLKEYLOGFILE 指定的文件中
2、wireshark 分析报文的时间,会从 SSLKEYLOGFILE 指定的文件中读取加密密钥信息,对加密报文举行解密
因此第三方步调哀求 https 报文时,如果必要使用 wireshark 举行解密报文,那么也得必要增长对 SSLKEYLOGFILE 的支持
增长环境变量
在环境变量中增长 SSLKEYLOGFILE 变量,值指定一个 KYE 文件路径,存储 TLS(传输层安全协议)会话的加密密钥信息
设置后,并在该路径下新建该文件 KEY.LOG
设置 wireshark
打开 wireshark,在菜单 “编辑” -> “首选项” 打开设置窗口,在左侧的协议树中睁开 Protocols ,并找到 TLS 项
将刚设置的 SSLKEYLOGFILE 环境变量的文件名,增补到这里来
https 抓包
设置完毕后,开启 wireshark 对网卡举行抓包,重启 chrome 欣赏器,访问 https 站点
在 wireshark 的输入框中输入 http2 ,就能抓到 https 的报文了
编码中的 https 抓包
这里以 go 为例,哀求 https 的参考代码,实现对 https 报文抓取的应用
这里的关键步调,就是增长了环境变量 SSLKEYLOGFILE 的支持- req, err := http.NewRequest("POST", url, body)
- if err != nil {
- logger.Error("new request err:", err)
- return "", err
- }
- req.Header.Set("Content-Type", writer.FormDataContentType())
- req.SetBasicAuth(username, password)
- var transport *http.Transport
- keyLogFile, err := os.OpenFile(os.Getenv("SSLKEYLOGFILE"), os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
- if err == nil {
- tlsConfig := &tls.Config{
- KeyLogWriter: keyLogFile,
- InsecureSkipVerify: true, //自签证书不校验
- }
- transport = &http.Transport{
- TLSClientConfig: tlsConfig,
- }
- }
- defer keyLogFile.Close()
- client := &http.Client{}
- if transport != nil {
- client.Transport = transport
- } else {
- client.Transport = &http.Transport{
- TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, //自签证书不校验
- }
- }
- resp, err := client.Do(req)
- if err != nil {
- logger.Error("http client do err:", err)
- return "", err
- }
- defer resp.Body.Close()
- b, err := io.ReadAll(resp.Body)
- if err != nil {
- logger.Error("io ReadAll err:", err)
- return "", err
- }
- logger.Info("post request reply:", resp.Status)
- logger.Info("response text:\n", string(b))
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |