一、前言
随着无线网络的普及,WiFi 安全已经成为网络安全教学中不可或缺的一部分。为了让学生或初学者更直观地理解无线网络的攻防原理,本文基于Kali Linux + Aircrack-ng 套件,完整演示一次标准的无线网络安全教学实验流程。
本文内容包括:
Kali Linux 虚拟机的安装
无线网卡与监听模式说明
Aircrack-ng 工具链使用
无线数据包抓取与握手包获取原理
⚠️重要声明
本文仅用于教学、实验和授权测试环境。请勿对任何未授权的网络进行攻击,否则后果自负。
二、实验环境准备
1. 软件环境
宿主机系统:Windows / Linux / macOS(均可)
虚拟化软件:
VMware Workstation / VMware Fusion
或 VirtualBox
Kali Linux(官方镜像)
2. 硬件环境
支持监听模式(Monitor Mode)的 USB 无线网卡
常见芯片:RTL8187、RTL8812AU 等(一般情况下,电脑尤其是笔记本自带的网卡,kali系统和Linux系统并不支持,请如果需要,请自行上网查阅是否支持,或者建议直接去一些网上购物平台上采购,一个这样的无线网卡,大概不会超过30块钱。)
建议使用 USB 网卡直通给虚拟机
三、Kali Linux 虚拟机安装步骤
1. 下载 Kali Linux 镜像
推荐直接下载官方提供的VMware 预装镜像(.ova 或 .vmx):
官网:https://www.kali.org/get-kali/
选择:
Kali Linux Installer(ISO)或
Kali Linux VMware Image(更省事,推荐)
2. 导入 Kali 虚拟机
以 VMware 为例:
打开 VMware
选择「打开虚拟机」
导入下载好的 Kali 镜像
设置虚拟机配置(基本保持默认即可):
内存:≥ 2GB
CPU:2 核以上
网络:NAT(默认即可)
3. 启动 Kali 并登录
默认账户(新版 Kali):
用户名:kali 密码:kali
进入系统后即可看到 Kali 桌面环境。
默认情况下,字体应该是英文,但是你也可以通过以下方法将其字体设置为中文,并进行界面优化。(这些步骤你也可以不进行,不影响接下来的操作。)
3.1. 确认系统已安装中文语言包
首先打开终端,切换为 root 用户:
sudo -i
安装中文语言支持(一般 Kali 已自带,但建议确认):
apt update apt install -y locales language-pack-zh-hans
3.2. 配置系统语言环境
执行语言配置工具:
dpkg-reconfigure locales
在弹出的界面中:
使用方向键,选中:
zh_CN.UTF-8 UTF-8
(空格键选中,回车确认)
下一步默认语言选择:
zh_CN.UTF-8
回车确认。
3.3. 重启系统
语言设置完成后,重启 Kali:
reboot
3.4. 切换桌面语言
重启后登录系统时,Kali 可能会弹出提示:
是否将文件夹名称转换为当前语言?
建议选择:
✅保留旧名称(避免路径变化导致工具或脚本出错)
此时系统菜单、设置界面基本已经是中文。
4. USB 无线网卡直通
插入 USB 无线网卡 → VMware 菜单栏:
虚拟机 → 可移动设备 → 选择无线网卡 → 连接
确保无线网卡被 Kali 识别,而不是宿主机占用。
四、无线攻防实验步骤详解
1. 切换到 root 用户
无线攻击工具需要 root 权限运行:
右键桌面>打开终端
输入
sudo -i
回车之后输入密码(默认kali)
2. 查看无线网卡信息
确认无线接口名称(通常是 wlan0):输入
ifconfig
如果你没有这个wlan,你只有上面两个eth0,lo的话,说明你的网卡没有被正确识别,要不然是上一步,你没有将这个网卡直接连到虚拟机,或者就是你的网卡不支持kali系统,或没有相应的驱动。
3. 检查 Aircrack-ng 工具
Kali 默认已安装 Aircrack-ng:输入
airmon-ng
该命令用于管理无线网卡的监听模式。
同理,如果说你没有下面wlan0的这个设备显示,说明你的网卡不支持监听模式,或者驱动没有正确安装。请购买可支持型号的网卡,或者安装相应的驱动。
4. 启动监听模式(Monitor Mode)
将无线网卡从管理模式切换为监听模式:
airmon-ng start wlan0
成功后系统会创建新的监听接口:
注意,我这里监听窗口为wlan0,但是不同版本的系统可能不一样,有一些版本可能还是原先的wlan0,建议重新使用命令ifconfig确认。
5. 扫描周围无线网络
使用airodump-ng扫描附近所有无线 AP:
airodump-ng wlan0mon
此界面会显示:
BSSID(AP 的 MAC 地址)
信道(CH)
加密方式(WPA/WPA2)
当前连接的客户端(STATION)
6. 锁定目标 AP 进行抓包
假设目标无线网络信息如下:
BSSID:
88:6E:DD:AA:A5:7E信道:
1
执行定向抓包命令:
irodump-ng -c 1 --bssid 88:6E:DD:AA:A5:7E -w /home/kali/handshake wlan0mon
说明:
-c 1:指定信道--bssid:锁定目标 AP-w:保存抓包文件
第1行右侧如果出现WPA handshake说明成功了,就可以去查看抓包的文件了。下面框是扫描到的链接该WiFi的设备。
生成文件示例:
/home/kali/handshake-01.cap
一般情况下,我们仅需要这个.cap文件即可
7. 触发客户端重新连接(教学实验)
抓包是一个很漫长的过程,因为他抓的是握手包,只有新抓取到设备重新连接的握手包时才能奏效,因此为了加快进程,我们可以进行网络攻击,将一些设备踢下线,让他们自动重新连接,就可以更快的获取握手包,但是跟你的信号强度以及设备都有一定的关系,并不所有方法都不能保证百分百成功。
第1行右侧如果出现WPA handshake说明成功了,就可以去查看抓包的文件了。下面框是扫描到的链接该WiFi的设备。
为了演示握手包的产生过程,在合法授权环境中,可以发送解除认证帧:
aireplay-ng -0 15 -a 88:6E:DD:AA:A5:7E -c 94:F8:00:AA:A0:CD wlan0mon
参数解释:
-0:Deauth 攻击模式15:发送次数(一般情况下15就够了,当然这个参数也可以上调)-a:目标 AP,也就是之前WiFi的BSSID。-c:目标客户端,指下面第2个框里面扫描到的连接WiFi设备的地址BSSID。
当客户端重新连接 AP 时,airodump-ng界面会显示:
WPA Handshake
表示握手包捕获成功。
如果没有成功的话,那么你可以尝试多次攻击,或者说你可以尝试换一个设备。如果都不行的话,那就一直等待或者换一个目标。
五、如何跑包
在前面的无线网络安全实验中,我们已经成功捕获了目标无线网络的WPA/WPA2 握手包(Handshake)。
接下来,一个非常常见的问题是:
握手包抓到了,它到底能用来做什么?
这就涉及到Aircrack-ng 的离线分析能力,也就是常说的“暴力破解(字典匹配)”。也就是通常所谓的“跑包”。
请您注意跑包对设备有一定要求。而且如果说仅用cpu来跑包的话(以下教学),可能效率较慢。一般情况下,为了快速匹配,我们可以用显卡进行跑包。如果您的设备不够用,或者说你这个密码词典没有的话,我们建议你直接可以找一些第三方的跑包,比如说去*鱼上,*宝上,可能都有对应的一些服务,你可以直接检索“ 跑包cap ” ,或者“ 跑包 ”“ 代跑 ”这种的关键词,现在市面上的价格大概是10元每次。
⚠️再次声明
以下内容仅用于教学实验、课程演示和授权测试环境,目的是帮助理解无线网络认证机制与安全风险。
1.暴力破解的本质说明(非常重要)
在 WPA/WPA2 网络中:
Aircrack-ng并不是直接破解 WiFi
而是:
使用已捕获的握手包
将字典中的密码逐个计算
与握手包中的校验值进行比对
匹配成功 → 密码正确
👉这是一个“离线分析过程”,不会再向无线网络发送任何数据包。
2.实验前的准备条件
在执行暴力破解命令前,必须满足以下条件:
1️⃣ 已成功抓取 WPA 握手包
例如抓包文件:handshake-01.cap handshake-02.cap
并且在抓包时确认出现过:WPA Handshake
2️⃣ 准备密码字典文件
例如:password.txt
字典本质上是一个普通文本文件,每一行是一个可能的密码。
3.暴力破解命令详解
完整命令示例
aircrack-ng -w /home/桌面/password.txt \ -b 60:32:B1:56:3F:B2 \ /home/桌面/handshake-0*.cap
下面我们逐个参数拆解说明。
1️⃣aircrack-ng
这是 Aircrack-ng 套件中的核心分析工具,主要用于:
WPA/WPA2 握手包分析
WEP 密钥分析
字典匹配验证
2️⃣-w /home//桌面/password.txt
-w <字典文件路径>
含义:
-w:指定字典文件(wordlist)程序会从该文件中逐行读取密码
示例解释:
password.txt 中的每一行都会被当作一次尝试
3️⃣-b 60:32:B1:56:3F:B2
-b <BSSID>
含义:
-b:指定目标无线 AP 的MAC 地址用于从抓包文件中精确匹配目标网络
为什么要指定 BSSID?
抓包文件中可能包含多个 AP 的数据
指定 BSSID 可以:
提高效率
避免误分析
4️⃣/home/桌面/handshake-0*.cap
<抓包文件路径>
含义:
指定用于分析的握手包文件
使用通配符
*可以:同时加载多个
.cap文件提高成功率(不同文件可能包含不同握手)
示例:
handshake-01.cap handshake-02.cap handshake-03.cap
六、运行过程说明
执行命令后,Aircrack-ng 会:
加载握手包
验证握手是否完整
读取字典文件
逐条进行密码校验
终端中通常会看到类似信息:
Trying passphrase: xxxxxx KEY FOUND! [ ******** ]
如果字典中不存在正确密码,程序会在字典结束后自动退出。
七、为什么有时“跑不出来”?
这是教学中非常关键的一点。
常见原因包括:
1.握手包不完整
客户端连接过程不完整
抓包时间太短
解决:重新抓包
2.字典中没有正确密码
Aircrack-ng不会“猜”密码
只能匹配字典中已有的内容
这正是强密码防御有效性的体现,你可以去找一些更完善的字典,或者是说去*鱼*宝寻求一些赛博医生
3.抓错了 BSSID
BSSID 不匹配
抓包文件里没有该 AP 的数据
八、实验原理简述(教学重点)
WiFi 客户端连接 AP 时会进行四次握手
握手包中包含用于验证密码的关键数据
攻击者并非“破解 WiFi”,而是分析握手过程
防御的关键在于:
强密码
新协议(WPA3)
无线监测
九、防御与安全建议
从防守角度出发,应注意:
使用 WPA3 或高强度 WPA2 密码
禁用 WPS
定期更换无线密码
部署无线入侵检测(WIDS)
十、总结
通过 Kali Linux 和 Aircrack-ng 套件的实验,可以非常直观地理解无线网络的安全风险。这类实验非常适合用于:
网络安全课程教学
实验室演示
初学者理解无线攻防原理
学习攻击的目的,是为了更好地防御。