找回密码
 立即注册
首页 业界区 安全 wireshark 抓包整理———— 抓取https

wireshark 抓包整理———— 抓取https

赖秀竹 2025-5-31 23:32:43
前言

简单介绍一下wireshark如何抓取tls的信息显示明文,这里可以理解为https也行。
正文

我们晓得tls 是经过加密的,那么得的ip包里面的数据内容也是加密的,那么我们需要解密。
解密自然是需要秘钥证书的,那么我们就需要去填写某个ip地址的私钥证书理论上是可行的。
1.png

嗯,这种方式肯定可以哇。
那么出现了另外一个问题,那就是呢? 是啥子呢?
我们证书怎么拿到呢? 服务器的东西,如果不是我们的网站那更是别想了。
那怎么搞?
SSLKEYLOGFILE 是由 Mozilla 开发团队首先引入的一个调试功能,随后被 Google Chrome 等浏览器采纳
并成为网络分析工具(如 Wireshark)的非正式行业惯例,并没有组织或者标准定义这个行为,是属于一个事实上的规范
由 wireshark + chrome 抓 https 包的原理大概就是
1、chrome 发起 https 请求的时候,会将站点的加密密钥信息存储到 SSLKEYLOGFILE 指定的文件中
2、wireshark 解析报文的时候,会从 SSLKEYLOGFILE 指定的文件中读取加密密钥信息,对加密报文进行解密
因此第三方程序请求 https 报文时,如果需要使用 wireshark 进行解密报文,那么也得需要增加对 SSLKEYLOGFILE 的支持
好在一般的库也是支持的。
  1. // 设置环境变量
  2. Environment.SetEnvironmentVariable("SSLKEYLOGFILE", "path/to/sslkeylogfile.txt");
  3. // 然后正常使用HttpClient或其他网络请求
  4. using var client = new HttpClient();
  5. var response = await client.GetAsync("https://example.com");
复制代码
c# 本身就支持,库里面自动会去监测到SSLKEYLOGFILE。
就会自动的去写入这个环境变量位置。
SSLKEYLOGFILE, 这样。
然后在wireshark中这样设置:
2.png

这样就ok了。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册