使用wireshark抓取解密https包

本文介绍如何通过设置环境变量SSLKEYLOGFILE并利用Wireshark解析HTTPS流量的方法,实现对HTTPS通信内容的捕获及查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://www.yangyanxing.com/article/use-wireshark-capture-https.html

今天在看https的相关技术,于是想要使用wireshark抓取并解密https流量
关于https的基础可以看看这篇文章
HTTPS理论基础

本文参考文章
使用 Wireshark 调试 HTTP/2 流量

当系统环境变量中存在SSLKEYLOGFILE这个变量的时候,chrome与firefox在访问https网站的时候会将密钥写入这个环境变量中,如果在wireshark中设置一下,这样就可以解析https的流量了。

  1. 设置环境变量,添加SSLKEYLOGFILE变量,不同的系统不一样
  2. 在wireshark中设置,打开wireshark,点击编辑->首选项,切换到PRotocols,选择SSL,在(Pre)-Master-Secret log filename那选择刚刚SSLKEYLOGFILE的值
    wireshark设置wireshark设置
  3. 开始抓包吧
    抓到的访问alipay的流量抓到的访问alipay的流量

可以看到,wireshark已经将http/2转成了http,并且在下面显示了相应的Decrypted SSL data的tab,我随便输入了用户名与密码,已经可以在wireshark上显示了


### 配置并使用Wireshark抓取和分析WiFi数据 #### 一、准备工作 在 Kali Linux 中,要成功使用 Wireshark 抓取 WiFi 数据,需完成以下几项准备: 1. **安装必要的软件** 确保已安装 `aircrack-ng` 和 `wireshark` 工具。如果未安装,可以通过命令行执行以下操作来安装它们: ```bash apt update && apt install aircrack-ng wireshark -y ``` 2. **启用无线网卡监听模式** 使用 `airmon-ng start wlan0` 命令将无线网卡切换至监听模式(Monitor Mode)。这一步非常重要,因为只有处于监听模式下的网卡才能捕获周围的 WiFi 流量[^1]。 3. **确认网络接口名称** 切换到监听模式后,通常会生成一个新的虚拟接口,例如 `wlan0mon` 或类似的命名方式。此接口用于后续的数据捕获工作。 --- #### 二、配置 Wireshark 进行解密 对于加密的 WiFi 数据(如 WPA/WPA2),需要先获取 PSK(预共享密钥)以便于解密流量: 1. 打开 Wireshark 并进入菜单栏中的【编辑】→【首选项】。 2. 在左侧导航树中找到 【Protocols】 → 【IEEE 802.11】。 3. 勾选选项 “Enable decryption”,并在下方的 Decryption Keys 字段输入 PSK 密码,格式为 `[psk] ssid key`。例如: ``` [psk] MyNetwork mypassword ``` 4. 完成设置后点击【确定】保存更改[^1]。 --- #### 三、设置无线工具栏 为了能够有效捕获目标 SSID 的帧数据,还需要调整 Wireshark 的无线工具栏参数: 1. 如果界面中未显示无线工具栏,则通过菜单路径 【视图】→【无线工具栏】将其激活。 2. 设置正确的信道(Channel)信息。这一过程依赖于之前扫描所得的目标 AP 的 Channel 参数。推荐借助第三方工具如 `inSSIDer` 来辅助定位所需 SSID 及其对应的频率范围[^2]。 注意:错误的 Channel 配置可能导致无法接收到预期的数据流! --- #### 四、启动数据捕获 一切就绪之后即可正式开始监控指定无线网络上的通信活动: 1. 返回 Wireshark 主窗口,从下拉列表里选定刚才创建好的监测专用接口(比如 `wlan0mon`)作为采集源。 2. 单击按钮或者按下快捷键 F5 开始记录实时传输过来的信息片段。 3. 结束录制前记得随时观察过滤器表达式的运用效果,从而快速筛选关注的重点事件类型;譬如仅查看 ARP 请求响应可采用规则字符串 `arp`. --- ```python # 示例 Python 脚本展示如何自动化部分流程 (非必要) import os def enable_monitor_mode(interface='wlan0'): """Switch wireless interface into monitor mode.""" os.system(f'airmon-ng check kill') os.system(f'airmon-ng start {interface}') if __name__ == "__main__": enable_monitor_mode() ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值