【学习记录】使用 Kali Linux 与 Hashcat 进行 WiFi 安全分析:合法的安全测试指南
文章目录
- 📌 前言
- 🧰 一、前期准备
- ✅ 安装 Kali Linux
- ✅ 获取支持监听模式的无线网卡
- 🛠 二、使用 Kali Linux 进行 WiFi 安全测试
- 步骤 1:插入无线网卡并确认识别
- 步骤 2:开启监听模式
- 步骤 3:扫描附近的 WiFi 网络
- 步骤 4:捕获握手包
- 🔁 三、转换 .cap 文件为 Hashcat 模式 22000 格式
- 方法一:使用在线转换器
- 方法二:使用 hashcat 自带工具(本地操作)
- 🔥 四、使用 Hashcat 进行密码破解
- ⚖️ 五、总结与注意事项
📌 前言
在网络安全领域,评估无线网络的安全性是一项关键技能。Kali Linux 是专为渗透测试和安全审计设计的 Linux 发行版,集成了大量用于无线网络分析的工具。
本文将详细介绍如何使用 Kali Linux 和 Hashcat 对 WiFi 网络进行合法的安全测试,并演示如何捕获 WPA/WPA2 握手包并将其转换为适用于 Hashcat 模式 22000
的哈希格式。
📌 重要提示:本文仅限于授权范围内的学习与测试用途。未经授权对他人网络进行攻击是违法行为,可能面临严重的法律后果。
🧰 一、前期准备
✅ 安装 Kali Linux
推荐使用最新稳定版本的 Kali Linux,可安装在物理机或虚拟机中(如 VMware、VirtualBox)。
🔗 官方下载地址:https://www.kali.org/downloads/
✅ 获取支持监听模式的无线网卡
确保你的无线网卡支持:
- Monitor Mode(监听模式)
- Packet Injection(数据包注入)
常见兼容型号包括:
- Alfa AWUS036NHA(芯片组:RT3070)
- Alfa AWUS036ACH(芯片组:RTL8812AU)
🛠 二、使用 Kali Linux 进行 WiFi 安全测试
步骤 1:插入无线网卡并确认识别
ip a
或使用旧命令:
ifconfig
你应该能看到类似 wlan0
的接口名称。
步骤 2:开启监听模式
使用 airmon-ng
将无线网卡切换至监听模式:
airmon-ng start wlan0
成功后会生成一个新的接口,例如 wlan0mon
。
步骤 3:扫描附近的 WiFi 网络
运行 airodump-ng
扫描周围的无线接入点及其客户端:
airodump-ng wlan0mon
记录目标网络的 BSSID(MAC 地址) 和 频道号(CH)。
步骤 4:捕获握手包
开始捕获指定 BSSID 的流量:
airodump-ng --bssid [目标BSSID] -c [频道号] -w /path/to/output wlan0mon
为了加快握手包的捕获,可以发送解除认证包强制客户端重新连接:
aireplay-ng -0 1 -a [目标BSSID] -c [客户端MAC] wlan0mon
一旦捕获到完整的 WPA/WPA2 握手包,终端窗口右上角会出现:
WPA handshake: [BSSID]
🔁 三、转换 .cap 文件为 Hashcat 模式 22000 格式
Hashcat 支持直接处理 .cap
文件,但更推荐将其转换为专用哈希格式以提高效率。
方法一:使用在线转换器
访问官方推荐的在线转换工具:cap2hashcat
上传你的 .cap
文件,下载转换后的哈希文件(通常为 .txt
格式)。
方法二:使用 hashcat 自带工具(本地操作)
cap2hccapx.bin input.cap output.hccapx
然后使用 Hashcat 模式 22000
进行破解。
🔥 四、使用 Hashcat 进行密码破解
hashcat -m 22000 hash.txt wordlist.txt --force
-m 22000
:表示使用 WPA/WPA2-PSK 的 PMKID 攻击模式;--force
:跳过某些驱动兼容性警告(建议只在测试环境下使用);
📌 提示:若使用 GPU 加速(如 NVIDIA CUDA),可大幅提升破解速度。
⚖️ 五、总结与注意事项
功能 | 工具 | 说明 |
---|---|---|
启用监听模式 | airmon-ng | 切换网卡为监听状态 |
扫描 WiFi | airodump-ng | 查看周围网络信息 |
捕获握手包 | airodump-ng + aireplay-ng | 强制客户端重连获取握手 |
破解握手包 | aircrack-ng 或 hashcat | 可选字典攻击或 GPU 加速破解 |
📌 安全测试必须合法合规!
请始终遵守以下原则:
- 仅在你拥有明确授权的网络环境中进行测试;
- 尊重他人隐私和数据安全;
- 不将所学技术用于非法用途。
通过合法途径提升自己的技能,不仅能保护自己免受法律风险,也能更好地服务社会,推动网络安全行业健康发展。
💬 欢迎留言交流你在实际操作中遇到的问题,或分享你的经验技巧!