Aircrack-ng 完整教程:从入门到实战
免责声明与法律警告
请务必在遵守当地法律法规的前提下使用本教程的技术,未经授权对任何不属于你的网络进行监听、攻击或破解都是违法行为,可能导致严重的法律后果。

本教程仅用于教育目的,旨在帮助你理解无线网络的安全漏洞,以便更好地保护自己的网络,请仅在你拥有或获得明确授权的网络上进行测试。
第一部分:核心概念与准备工作
在开始之前,你需要理解几个关键概念,并准备好相应的工具。
核心概念
-
无线网卡: 普通的家用或办公 Wi-Fi 网卡通常只能“发送”和“接收”数据包,而不能“监听”空中所有经过的数据包,你需要一张支持 “监听模式”(Monitor Mode) 的无线网卡。
- 推荐芯片:
Atheros AR9271、RTL8812AU、RTL8814AU、Alfa AWUS036NH/AWUS036ACH等,这些芯片在 Linux 系统下兼容性最好。 - 不推荐芯片: 大多数内置在笔记本电脑中的 Intel、Broadcom 芯片,通常不支持监听模式或支持不佳。
- 推荐芯片:
-
监听模式: 让无线网卡能够接收其频道上所有的数据包,而不仅仅是发往自己 MAC 地址的数据包,这是进行所有攻击的基础。
(图片来源网络,侵删) -
注入模式: 让无线网卡能够构造并发送自定义的数据包,而不仅仅是被动接收,这对于进行强制握手等攻击至关重要。
-
握手包: 这是 Wi-Fi 安全认证过程中的一个关键数据包,当一台设备(如手机、电脑)连接一个 WPA/WPA2 加密的 Wi-Fi 时,客户端和路由器之间会进行一个“四次握手”(4-Way Handshake),这个握手包包含了足够的信息,可以在离线状态下暴力破解出 Wi-Fi 密码。我们的目标就是捕获这个握手包。
-
数据包: 在网络中传输的数据单元,Aircrack-ng 通过分析这些数据包来发现目标网络、进行攻击等。
准备工作
环境推荐: Kali Linux 或 Parrot OS,这两个操作系统预装了 Aircrack-ng 套件和大量其他安全工具,是进行此类测试的首选,你可以使用虚拟机或直接安装在电脑上。
硬件准备:
- 一台支持监听模式的无线网卡(如上文提到的)。
- 一台安装了 Kali Linux 的电脑。
第二部分:实战步骤
我们将按照以下流程进行:
- 启用监听模式
- 扫描目标网络
- 攻击客户端以断开其连接
- 捕获握手包
- 离线破解密码
步骤 1: 启用监听模式
将你的无线网卡插入电脑,打开终端,输入以下命令。
1 查看网卡名称
airmon-ng
你会看到类似下面的输出,找到你的无线网卡,通常是 wlan0 或 wlan1。
Interface Chipset Driver
wlan0 Atheros ath9k_htc (USB)
2 停止可能冲突的进程 监听模式需要独占网卡,所以需要先停止一些可能占用网卡的进程。
airmon-ng check kill
3 启动监听模式
假设你的网卡是 wlan0,我们将其启动在监听模式,并命名为 wlan0mon。
airmon-ng start wlan0
成功后,再次运行 airmon-ng,你会看到一个新的接口 wlan0mon,并且它的 Mode 显示为 Monitor。
Interface Chipset Driver Chipset Phy
wlan0mon Atheros ath9k_htc AR9271 0
你的网卡已经准备好监听所有无线信号了。
步骤 2: 扫描目标网络
我们需要找到我们想要攻击的目标 Wi-Fi 网络。
1 扫描网络
使用 airodump-ng 工具来扫描。wlan0mon 是我们在上一步创建的监听接口。
airodump-ng wlan0mon
2 分析扫描结果 你会看到一个列表,显示了所有可用的 Wi-Fi 网络。
- BSSID: 路由器的物理 MAC 地址,这是我们识别目标网络的关键。
- PWR: 信号强度,数值越小,信号越强(-30 非常好,-90 很差)。
- CH: 信道,我们需要记录这个,因为后续攻击必须在同一个信道上进行。
- ENC: 加密方式,我们的目标是
WPA2或WPA。 - AUTH: 认证方式,通常是
PSK(Pre-Shared Key),即密码认证。 - ESSID: Wi-Fi 的网络名称(SSID)。
选择你的目标: 记下以下信息:
- 目标网络的 BSSID
- 目标网络的 CH (信道)
- 目标网络的 ESSID (可选,但有助于确认)
3 停止扫描
按 Ctrl + C 停止扫描。
步骤 3: 攻击客户端并捕获握手包
我们需要让一个已连接的客户端断开连接,这样它在重新连接时就会产生我们需要的握手包。airodump-ng 会持续监听,一旦捕获到握手包就会保存下来。
1 开始监听目标网络
使用 airodump-ng 的定向监听模式,我们需要指定目标 BSSID、信道,并指定一个保存文件的路径。
# 将 <目标BSSID> 和 <信道> 替换为你的目标信息 airodump-ng --bssid <目标BSSID> -c <信道> -w capture wlan0mon
--bssid <目标BSSID>: 只监听指定 BSSID 的网络。-c <信道>: 只监听指定信道的网络。-w capture: 将捕获的数据包保存为capture-01.cap,capture-02.cap等文件。wlan0mon: 你的监听接口。
2 执行攻击
打开一个新的终端窗口,使用 aireplay-ng 工具来攻击客户端。
# 将 <目标BSSID> 替换为你的目标信息 aireplay-ng -0 10 -a <目标BSSID> wlan0mon
-0: 这是一个“去认证”(Deauthentication)攻击,强制客户端断开连接。10: 发送去认证数据包的次数,你可以根据情况调整。-a <目标BSSID>: 目标路由器的 BSSID。
3 等待握手包
回到 airodump-ng 的窗口,它会持续监听,如果攻击成功,某个客户端会断开并重新连接,当握手包被捕获时,你会看到在目标网络的右下角出现 WPA handshake: <目标BSSID> 的字样。
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
AA:BB:CC:DD:EE:FF -45 -90 17 120 0 6 54 WPA2 CCMP PSK MyWiFi
...
CH 6 ][ Elapsed: 1 min 15 s ][ WPA handshake: AA:BB:CC:DD:EE:FF ]
一旦看到 WPA handshake,立即按 Ctrl + C 停止 airodump-ng,握手包已经被保存在你之前指定的 capture-01.cap 文件中。
步骤 4: 离线破解密码
我们有了包含握手包的 .cap 文件,需要一个密码字典来尝试破解。
1 准备密码字典
Kali Linux 自带了一些字典,位于 /usr/share/wordlists/,你也可以在网上下载更强大的字典。
ls /usr/share/wordlists/
常用的字典有 rockyou.txt (需要解压)、passwords.txt 等。
2 使用 Aircrack-ng 破解
使用 aircrack-ng 工具,指定你的 .cap 文件和字典文件。
aircrack-ng -w /path/to/your/wordlist.txt -b <目标BSSID> capture-01.cap
-w /path/to/your/wordlist.txt: 指定你的密码字典文件路径。-b <目标BSSID>: (可选但推荐) 指定目标 BSSID,可以加快破解速度。capture-01.cap: 你捕获的握手包文件。
3 查看结果 Aircrack-ng 会开始逐行尝试字典中的密码,如果密码在字典中,它会显示出来:
KEY FOUND! [ 密码 ]
如果遍历完整个字典都没有找到,那么说明密码不在你使用的字典里。
第三部分:重要提示与替代方案
提高成功率的技巧
- 强大的字典: 破解成功率 90% 取决于字典,一个好的字典应该包含常见的密码、变体(如
password123!)、目标相关的信息(如生日、姓名等)。 - 靠近目标: 信号越强,攻击和捕获握手包的成功率越高。
- 客户端数量: 目标网络连接的客户端越多,你就有更多机会选择一个客户端进行攻击,从而捕获握手包。
- 使用更高级的攻击: 除了去认证攻击,还有其他更复杂的攻击方式,如 HIRTE 攻击,可以更有效地强制客户端重连,但这需要更深入的技巧和工具。
遇到问题怎么办?
- 网卡无法进入监听模式: 驱动问题,尝试更新驱动或更换网卡。
aireplay-ng失败: 可能是目标网络开启了 WPA3,或者客户端数量太少,或者你离得太远。- 无法捕获握手包: 可能是客户端没有断开重连,或者网络环境干扰太大,尝试更换攻击目标或等待更长时间。
现代 Wi-Fi 的挑战:WPA3
WPA3 协议引入了更强的安全机制,使得传统的 Aircrack-ng 方法基本无效,如果你发现目标网络是 WPA3-SAE,那么这套教程将无法使用,破解 WPA3 需要更复杂的攻击手段,目前仍处于研究和探索阶段。
替代方案与自动化工具
对于初学者,手动执行每个步骤比较繁琐,有一些自动化工具可以简化这个过程,
-
Wifite2: 一款非常流行的自动化攻击工具,它会自动扫描、选择目标、执行攻击并尝试破解,它集成了多种攻击方式,使用起来非常方便。
# 安装 (在 Kali 中通常已预装) sudo apt install wifite2 # 运行 sudo wifite2
Wifite2 会引导你选择攻击模式(如 WPA/WPA2),然后自动完成所有步骤。
道德黑客与网络安全
学习这些技术的最终目的是为了防御,作为一名网络安全爱好者,你应该:
- 保护自己的网络: 使用强密码(12位以上,包含大小写字母、数字、符号),启用 WPA2/WPA3,并定期更换密码。
- 进行授权测试: 永远只在获得书面授权的情况下对网络进行测试。
- 负责任地披露: 如果你发现了某个网络的漏洞,应该通过合法的渠道(如厂商的漏洞奖励计划)告知对方,而不是恶意利用。
希望这份详细的教程能帮助你理解 Aircrack-ng 的工作原理,请务必牢记法律和道德的边界,将这些知识用于正途。
