首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
airodump-ng与aircrack-ng实操指南:从监听模式到WPA握手包破解
📅 2026/9/15 21:44:51
✍️ 爱科研究院
👁 阅读 3,247
1. 先搞清楚这套工具链的分工逻辑很多人一开始接触airodump-ng和aircrack-ng都以为它们是一个“抓包工具”加一个“破解工具”装上 Kali 就开始敲命令。但实际用过一段时间你会发现这两者只是 Aircrack-ng 套件里最常露脸的两个成员整个套件其实是一条流水线airmon-ng 负责把无线网卡切成监听模式airodump-ng 负责在空中抓取无线帧aireplay-ng 负责主动注入攻击帧加速抓包aircrack-ng 负责对抓回来的数据做离线分析。换句话说airodump-ng 干的是“看得见”aircrack-ng 干的是“想得通”。前者是眼睛和耳朵后者是大脑。任何指望只靠一个工具就完成全流程的想法都是对无线安全审计工作流的误解。1.1 airodump-ng 和 aircrack-ng 各管哪一段airodump-ng 的核心能力是无线网络扫描和数据包采集。它会把周围所有可见的 AP接入点列成一张表显示 BSSID、信道、加密方式、信号强度、数据帧数量等信息。同时它可以指定信道、指定 BSSID 持续抓包把空中飞过的 802.11 帧保存成 .cap 文件。aircrack-ng 则接管这些 .cap 文件。对 WEP 网络它通过分析 IV初始化向量的碰撞来确定 RC4 密钥对 WPA/WPA2 网络它提取四次握手Four-way Handshake中的必要参数然后拿字典里的每个密码去计算 PMK比对 PTK 是否匹配。简单说airodump-ng 负责让你“捕获现场”aircrack-ng 负责“事后破译”。这两者不是同级关系而是典型的上下游关系。没有抓到有效的握手包aircrack-ng 就算字典再强也只能干瞪眼。这个因果链是很多新手最容易忽略的——他们以为跑不出密码就是字典不行实际上很可能是 airodump-ng 抓包阶段就已经埋了雷。1.2 从监听模式到握手凭证的完整链路完整的工作流是这样的用airmon-ng start wlan0让无线网卡进入监听模式monitor mode。用airodump-ng wlan0mon扫描周围网络记下目标 AP 的 BSSID、信道、加密方式。再次运行 airodump-ng指定-c信道和--bssid把抓包文件写到目标 .cap。如果目标是 WPA/WPA2 且已有客户端连接可以用aireplay-ng -0向客户端发送 deauthentication 帧强制客户端重连从而在重连过程中捕获四次握手。确认握手包到手后用aircrack-ng -w wordlist.txt capture.cap开始离线字典攻击。整个链条里步骤 1-4 其实都属于“数据采集”步骤 5 才是真正的计算。我在实际测试里见过太多“卡在最后一步”的人回头一查问题全是出在步骤 2 和步骤 3——信道没锁死、网卡驱动不支持抓包、信号太弱导致握手帧丢失。所以这篇文章前几章会把大量篇幅放在抓包前的准备和抓包过程中的校验上这些才是真正的经验密集区。2. 环境准备没有一块合适的网卡后面全是白搭如果你以为随便买块几十块钱的 USB 网卡就能干这活那你很快就会在第一步就卡住。Aircrack-ng 套件的运行前提是网卡芯片必须支持监听模式Monitor Mode和数据帧注入Packet Injection。这两个能力缺一不可。监听模式意味着网卡不再乖乖接受发给它的数据帧而是把听到的所有无线帧都交给上层处理相当于从“收信人”变成了“偷听者”。帧注入则意味着网卡能主动向空中发送伪造的 802.11 帧比如 deauthentication 帧这是触发客户端重连、诱导握手包出现的关键手段。2.1 网卡芯片选型的现实选择Kali Linux 对无线网卡的兼容性列表里有几款芯片组是公认的“省心之选”芯片组常见网卡频段特点Atheros AR9271TP-Link TL-WN722Nv1 老版2.4GHz便宜经典Linux 原生驱动支持好Ralink RT3070各种杂牌 USB 网卡2.4GHz兼容性好抗干扰一般Realtek RTL8812AUALFA AWUS036ACH2.4GHz 5GHz支持 802.11ac功率大需要装驱动Intel 全系列笔记本内置网卡各种笔记本2.4/5GHz不支持监听模式别折腾这里有个容易踩的坑TP-Link TL-WN722N 市面上的 v2/v3 版本换了芯片老版本用的是 AR9271新版本用的是 Realtek RTL8188EUS驱动支持差很多。买之前一定确认是 v1 版或者干脆买 ALFA 系网卡贵一点但省心。Realtek 系的网卡在 Kali 里通常需要另行安装驱动尤其是 8812AU 芯片。好在有个开源项目aircrack-ng/rtl8812au一直在维护按 README 编译安装即可。但我自己的经验是如果你只是入门验证流程AR9271 是最不劝退的选择——插入就是 eth0/wlan0airmon-ng 直接就能切监听模式不需要折腾任何编译依赖。2.2 监听模式切换与虚拟机透传如果你是像我一样在 VMware 或 VirtualBox 里跑 Kali记得把 USB 无线网卡直通到虚拟机。直通完成后lsusb能看到对应设备然后执行# 查看无线网卡接口名 iwconfig # 用 airmon-ng 启动监听模式 sudo airmon-ng start wlan0 # 检查是否成功接口会变成 wlan0mon 或 mon0 iwconfig如果airmon-ng提示有进程占用网卡需要先杀掉冲突进程sudo airmon-ng check kill这一步会停掉 NetworkManager 等网络管理服务执行后你的图形界面可能暂时断网这正常。测试完想恢复网络重启 NetworkManager 或重启虚拟机即可。切换监听模式后的另一个细节是原有的 wlan0 接口通常会被重新命名成 wlan0mon。如果没看到新接口可以手动执行iw dev wlan0 interface add mon0 type monitor但不同驱动表现不一样实在不行重启 airmon-ng。我可以很直接地说环境准备这关过不了后续所有指令都是纸上谈兵。核对你网卡型号是否在兼容列表里比学任何参数都重要。3. airodump-ng 实操扫描界面别只看颜值跑起来airodump-ng wlan0mon之后你会看到一张不断滚动的表格上面是周围所有 AP 的信息。新手很容易在这里犯一个毛病——对着满屏 BSSID 发呆不知道该看什么。其实这张表里的每一个字段都对应一个判断依据学会读表比学会敲命令更值钱。3.1 最常用的三种运行参数组合不带任何参数直接跑是最基础的用法适合快速浏览环境sudo airodump-ng wlan0mon但这个用法有个问题它会在所有信道上跳跃扫描每个信道停留一小段时间。对于锁定目标后的连续抓包必须把信道固定住# 锁定 6 信道只抓指定 BSSID保存到 capture 开头的文件 sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon顺手解释一下参数含义-c指定信道--bssid指定目标 AP 的 MAC-w指定输出文件名前缀。输出会生成capture.cap、capture.csv、capture.kismet.csv等文件.cap 是给 aircrack-ng 用的核心产物。第三种组合是增加--band参数选择频段# 只扫描 5GHz 频段 sudo airodump-ng --band 5g wlan0mon # 同时兼顾 2.4GHz 和 5GHz sudo airodump-ng --band abg wlan0mon默认airodump-ng只扫 2.4GHz。如果你家的双频路由器把 5GHz 叫成另一个 SSID而你锁定在 2.4GHz 上抓了半天可能一直看不到目标 AP。这个坑我见过太多次了。3.2 看懂扫描结果里的关键字段一张典型的扫描结果长这样BSSID PWR Beacons #Data CH MB ENC CIPHER AUTH ESSID AA:BB:CC:DD:EE:FF -35 125 204 6 54 WPA2 CCMP PSK MyWiFi每个字段的实操含义BSSIDAP 的 MAC 地址锁定目标的唯一标识。PWR信号强度负数越接近 0 信号越强。-30 以下算优秀-70 以上基本很难稳定抓包。BeaconsAP 周期性发送的信标帧数量持续增长说明数据链路稳定。#Data已经抓到的数据帧数量。对 WPA/WPA2 来说这个数字不能直接代表“抓到了握手包”但数据帧太少的网络后续分析价值也低。CHAP 工作信道锁定目标时必填参数。ENC / CIPHER / AUTH加密方式。WPA2 CCMP PSK 是目前最常见的家用路由组合。ESSIDWiFi 名称注意同名 AP 可能很多用 BSSID 区分。3.3 抓取握手包的等待时机与信号辅助当界面右上角出现WPA handshake: AA:BB:CC:DD:EE:FF这一行时说明 airodump-ng 已经捕获到了有效的握手包这时 CtrlC 结束抓包把 .cap 文件交给 aircrack-ng。很多新手在这里有个误区以为抓包时间越长越好。实际上 WPA/WPA2 的离线攻击只需要一次完整的四次握手抓到一次就够了。关键不是时间而是抓包过程中是否正好有客户端进行了一次完整的连接过程。如果目标网络没人重连你挂一晚上也等不到握手包。所以常见做法是配合 aireplay-ng 发送 deauthentication 帧强制客户端下线再重连人为制造握手机会。信号强度对抓握手包的影响非常大。在 -75 dBm 以下的信号环境下握手包极容易丢帧导致每次抓到的都是残缺握手。我的经验是先把网卡和天线的位置调整到目标信号在 -60 dBm 以内再开始抓包否则后面重复抓 10 次也是白费力气。此外注意一个被很多教程忽略的小细节抓包过程中#Data的增长速率如果非常慢说明当前信道和目标可能不一致或者目标网络几乎没有活跃客户端。这时候优先检查信道锁定再考虑是否压根没有客户端在线。4. aircrack-ng 的破解机制为什么它吃字典而不是硬算很多人被“破解”两个字误导以为 aircrack-ng 会像电影里那样实时解密。实际上 WPA2-PSK 的离线攻击本质上是一个字典查找校验的过程把字典里的每一个密码候选值结合抓到的 SSID 和握手参数计算出 PMK再推导出 PTK 和 MIC跟握手包里的 MIC 比对。比对一致密码就是它了。这个过程的计算量是巨大的而且没法通过数学技巧“反推”出密码。所以 aircrack-ng 从来不承诺一定能出结果它只承诺如果你字典里有这个密码我一定能找出来。4.1 WPA/WPA2 四次握手与 PMK 的计算链条要理解 aircrack-ng 的校验原理得先明白 WPA/WPA2-PSK 的认证过程。当客户端连接 AP 时二者会交换四个消息俗称四次握手AP 发送 ANonceAP 的随机数给客户端。客户端生成 SNonce并连同自己的 MAC、ANonce、PMK 等信息一起计算出 PTK把 SNonce 和 MIC 发给 AP。AP 校验 MIC 通过后向客户端发送加密过的 GTK组临时密钥。客户端确认收到完成握手。整个过程里最关键的是 PTK 的计算。PTK 的推导依赖 PMK、ANonce、SNonce、AP 的 MAC、客户端的 MAC 这五个输入。而 PMK 的推导公式是PMK PBKDF2-HMAC-SHA1(Passphrase, SSID, 4096, 256)也就是说同一个密码配上不同的 SSID算出来的 PMK 不同。aircrack-ng 拿到 .cap 文件后能直接从握手包里提取出 ANonce、SNonce、两个 MAC、SSID、MIC 这些已知量。剩下的未知量只有 PMK。于是它遍历字典里的每个密码按公式算出 PMK再算出 PTK 和 MIC跟包里的 MIC 做比对。一把字典尝试几十万甚至几百万个密码每个密码都要跑一遍 PBKDF2 的 4096 次 HMAC-SHA1 迭代。这就是为什么 aircrack-ng 跑大字典时 CPU 会飙到 100%也是为什么很多人觉得“慢”——它慢在 PBKDF2 的多次哈希迭代上这是 WPA2 设计时就刻意引入的计算成本。4.2 字典攻击、规则变形与 GPU 加速的分工aircrack-ng 的基本用法很简单# -w 指定字典文件-b 指定目标 BSSID sudo aircrack-ng -w rockyou.txt -b AA:BB:CC:DD:EE:FF capture.cap参数-e可以按 ESSID 过滤防止同一份抓包里混了多个网络。输出如果显示KEY FOUND! [ 你的密码 ]恭喜密码就在字典里。但现实是纯粹的字典攻击命中率很低。大多数家用 WiFi 密码并不在公开字典里它们只是符合某个模式。比如“手机号一位”、“姓名缩写生日”、“英文单词数字”。这种情况下用字典生成器按规则生成候选密码再喂给 aircrack-ng命中率会提升不少。Kali 自带的字典里最常用的是/usr/share/wordlists/rockyou.txt.gz解压后有大约 1400 万条常见密码。如果你嫌不够可以用crunch按规则生成# 生成 8 位纯数字密码 crunch 8 8 0123456789 -o digits8.txt # 生成“abc8位数字”的密码 crunch 11 11 abc0123456789 -t abc%%%%%%%% -o combo.txt注意一个性能问题aircrack-ng 是纯 CPU 计算而 WPA2 的 PBKDF2 迭代在 CPU 上跑很慢。我测试过一台普通 i5 笔记本aircrack-ng 每秒大概只能测 300~500 个密码跑 1400 万条的 rockyou 可能要 10 小时以上。如果你有 N 卡更高效的做法是用 hashcat# 先把 .cap 转成 hashcat 支持的 22000 格式 aircrack-ng capture.cap -j capture # 再用 hashcat 跑 GPU 加速字典攻击 hashcat -m 22000 capture.22000 rockyou.txt同样一张 RTX 3060hashcat 每秒能测几十万个密码比 aircrack-ng 快两个数量级。但这不代表 aircrack-ng 没用——在很多没有 GPU 的环境里它依然是可靠兜底方案而且它对握手包完整性的诊断信息更直观。5. 一个合规场景的完整演练从抓包到出结果接下来我把一次完整的授权测试流程串起来按我自己的习惯一步步走。这里必须特别声明整个过程的目标设备必须是你自己拥有的设备、你获得明确授权的设备、或者你搭建的实验室环境。对他人网络进行任何形式的未授权探测或破解涉嫌违法本文不承担由此产生的任何后果。5.1 实战前必须确认的三个授权前提我在给朋友演示这套流程时总是先问三个问题这个路由器是不是你自己买的、自己配置的如果不是你有没有书面或可追溯的授权允许你对该网络进行安全测试你是否清楚即使只是扫描周围网络也可能被运营商或邻近用户视为异常行为这三个问题不是走过场。Aircrack-ng 套件本身是合法开源工具但它同时也是一把“万能钥匙”。我见过有初学者在学校实验室对着隔壁宿舍的热点跑 aircrack-ng最后被学校网络安全部门约谈的例子。做技术测试可以选对靶场、先拿到授权。5.2 完整操作流程假设我要测试的是我自己家里的一台老路由器SSID 是MyHomeWiFi加密方式是 WPA2-PSK。先把网卡切到监听模式sudo airmon-ng check kill sudo airmon-ng start wlan0接着全信道扫描一遍看目标 AP 在哪个信道sudo airodump-ng wlan0mon假设发现目标在信道 6信号 -40 dBm。这时我把抓包工具锁定到它身上sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon在另一个终端窗口里检查有没有客户端连着它。如果表里有 STATION 一栏且 MAC 不为空说明有设备在线。为了加速握手包的获取我发送 deauthentication 帧把这个客户端踢下线它会立刻自动重连重连过程就会产生新的四次握手sudo aireplay-ng -0 5 -a AA:BB:CC:DD:EE:FF wlan0mon参数-0表示发送 deauth 攻击5 发送 5 个这样的帧。如果抓包终端右上角出现了WPA handshake: AA:BB:CC:DD:EE:FF就说明握手包已经拿到。这时 CtrlC 结束抓包。然后跑字典sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt -b AA:BB:CC:DD:EE:FF capture.cap如果幸运终端会出现KEY FOUND!。如果没出至少分析一下跑了多少密码、每条密码的命中率然后换一个更贴合目标网络的字典规则继续尝试。这套流程看起来简单但我在实际操作中遇到过不少“看起来简单、实际反复失败”的情况下一章专门聊排错。6. 常见报错和排错经验6.1 我踩过的几个典型坑第一个坑airmon-ng start wlan0之后接口名没变。有些驱动不会自动把 wlan0 改成 wlan0mon但网卡其实已经处于监听模式。验证方法是用iwconfig看该接口是否显示Mode:Monitor。如果确实没变可以手动指定sudo airmon-ng start wlan0 # 观察输出里的提示 sudo iw dev wlan0 set type monitor sudo ip link set wlan0 up第二个坑虚拟机里 USB 网卡频繁掉线。这通常是供电不足或者 USB 控制器兼容性问题。建议把网卡插到主机后置 USB 口在虚拟机设置里把 USB 兼容性改成 3.1并禁用自动挂起。第三个坑抓了很久WPA handshake就是不出现。最常见原因是 deauth 攻击没打中客户端或者客户端开启了 802.11w 管理帧保护。这时候换个思路用aireplay-ng -0 0持续发送 deauth 帧-0 0表示无限发送让客户端频繁断线重连抓到握手的概率会大增。如果还不行排除信号太弱的问题——把网卡天线挪近一点再试。第四个坑airodump-ng 显示信道一直在跳。这说明你没加-c参数。锁定信道是抓包的前提条件。还有一个容易被忽略的情况某些路由器的自动信道选择功能会在测试过程中改变信道导致你在固定信道上死等。解决办法是先手动登录路由器把信道固定或者重新扫描后改抓包参数。第五个坑aircrack-ng 报错No networks found。这代表 .cap 文件里没有握手包或者握手包损坏。用aircrack-ng capture.cap直接看一下它识别到的网络信息确认包里有可用的目标网络。很多时候问题是出在抓包时--bssid参数打错抓了一堆其他网络的流量。6.2 几个进阶技巧技巧一多加一个-w参数让 aircrack-ng 自动过滤关联的 BSSID。这个用法适合一个 .cap 文件里包含多个网络的情况sudo aircrack-ng -w rockyou.txt -b AA:BB:CC:DD:EE:FF capture.cap -e MyHomeWiFi技巧二用--bssid和-c配合时a测量#Data的增长。如果锁定了正确的信道和 BSSID#Data应该持续增长。如果长时间不涨要么目标 AP 真的没有流量要么你抓到了错误的信道。技巧三字典攻击不是越多越好。很多人喜欢下载几个 GB 的超大字典结果一场测试跑 30 小时。更好的做法是先用小字典比如常用弱密码、8 位数字组合、rockyou 前 10 万条快速试一轮再根据目标的实际情况定向生成规则字典。在授权测试场景下对方密码强度普遍不高小字典先跑往往就能出结果。技巧四保存好 .cap 文件。每次抓包拷出来一份按时间命名。因为你永远不知道下一个字典什么时候会出现而握手包是最宝贵的原始证据。哪怕这次没出结果下次换字典还能重新跑。我在实际工作中还习惯用tcpdump做一层备份抓包因为某些特殊网卡驱动下 airodump-ng 有几率丢握手帧但 tcpdump 抓的包更原始更完整。这个习惯帮我在一次测试里救回了差点失败的会话——airodump 迟迟没有上报握手但 tcpdump 的 pcap 里其实已经抓到了完整四次握手。7. 关于合规和个人使用的一点提醒说到最后还是要把安全审计的边界再提一次。Aircrack-ng 套件是安全研究、网络管理、教学实验里的常规工具它本身没有任何“恶意”属性。但任何工具的恶意与否都取决于使用者的场景和意图。未经授权的网络是绝对不行的。值得高兴的是现在行业对这类工具的态度也在变得更成熟。越来越多的无线安全培训、CTF 比赛、实验室环境里都提供了合法的靶场网络让初学者可以在不触碰红线的前提下完整练习 airodump-ng 和 aircrack-ng 的整套流程。如果你没有自己的路由器可以测试搭建一个基于 Raspberry Pi 的独立实验热点或者参与线上实验室项目都是比对着邻居 WiFi 动手安全得多的选择。我自己带新人的时候常说一句话工具学会了随时都能用但好习惯和边界感不是一天能养成的。从第一次跑通 WPA handshake 的那天起你就已经跨进了无线安全世界的大门但做个什么样的人、拿这门手艺做什么事是比技术本身更重要的命题。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/15 21:44:51
Golang map深拷贝全解析:从浅拷贝陷阱到反射/泛型实现
2026/9/15 21:44:51
本科生论文AI率检测与降AI工具全攻略
2026/9/15 21:39:50
Your Developer Growth Report
2026/9/15 22:24:57
ASM Rebalance在线磁盘迁移:Oracle RAC存储替换实战指南
2026/9/15 22:24:57
pwndbg 命令:Pwndbg 全命令清单速查工具的使用与实现解析
2026/9/15 22:24:57
UFO 项目 AIP 消息协议完全参考:Pydantic 消息模型、关联机制与最佳实践
2026/9/15 22:24:57
Cataclysm-DDA JSON 数据挖掘指南:keys.py 与 values.py 实战解析
2026/9/15 22:24:57
Wasp AI 创建新应用全指南:从一句话描述到可运行的全栈项目
2026/9/15 22:19:56
Modbus RTU现场通讯崩溃的四大根因与硬核调试法
2026/9/15 0:01:49
2026年NVMe SSD装机避坑指南:PCIe 4.0/5.0、NVMe启动与M.2 Key兼容性实测
2026/9/15 0:01:49
Flutter与OpenHarmony物理动画实现指南
2026/9/15 0:01:49
vscode插件开发之语言服务器,这次让用 TaoToken 接入的 Codex 排查 LSP 服务端连接
2026/9/15 13:08:25
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/14 2:50:57
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/14 11:25:37
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化