ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Aircrack-ng无线审计实战:从监听模式到握手包密码验证

Aircrack-ng无线审计实战:从监听模式到握手包密码验证 1. 关于这套无线审计工具你需要先弄清楚的事很多人第一次接触airodump-ng和aircrack-ng是因为在网络安全相关的文章或课程里看到这两个名字。它们是 Aircrack-ng 套件里最核心的两个组件一个负责“看”和“抓”一个负责“算”和“破”。简单来说这套工具是无线网络安全性审计的标配用来验证你自己的路由器密码是否足够强壮、无线网络是否存在配置漏洞。在动手之前我必须先把话讲清楚这套工具只能用于你拥有合法授权的网络。比如自家路由器、公司分配给安全团队做测试的网络、或者你专门搭起来做实验的 AP。用它去连别人家的 WiFi哪怕动机只是“好奇”在绝大多数国家和地区都属于违法行为这个风险没有任何技术含量能帮你兜住。本文所有操作演示都默认是在你自己可控的环境里进行。对一个刚入门的人来说这套工具能解决的实际问题有三个一是搞清楚自己家 WiFi 的加密方式到底靠不靠谱二是验证 WPA2/WPA3 密码字典中的弱密码是否能被轻易枚举出来三是排查无线网络干扰和信号覆盖问题时能快速看清周围 AP 的信道占用情况。我见过很多做弱电工程、网络运维的朋友其实不是为了“破解”才用而是为了排查同频干扰、确认邻居的 AP 是不是在占用信道这反而是更常见的日常场景。如果你是信息安全方向的学生、网络运维工程师、或者单纯想搞清楚 WiFi 协议里握手过程到底是怎么回事的爱好者这篇文章值得你从头到尾读一遍。我会把从安装、开启监听模式、抓包到跑字典、分析结果这一整条链路都讲透所有命令都会给出来但请务必记得只能在授权的环境里操作。2. 核心思路拆解先“听懂”无线网络再谈“验证”密码2.1 为什么必须用监听模式普通网卡不行吗要理解 airodump-ng 的工作方式先得明白无线网卡在普通模式下的局限性。普通的 STA 模式也就是我们平时连接 WiFi 时的工作模式网卡只会接收发给自己的数据帧其他同信道的数据包会被网卡硬件直接丢弃。这在日常上网时是高效的但在无线审计时就完全不够用了。airodump-ng需要把所有经过当前信道的数据帧都“听”下来——不管是发给谁的管理帧、控制帧、数据帧统统都要。这就需要把网卡切换到监听模式Monitor Mode。在监听模式下网卡不再关联任何 AP就像一个站在路边听所有车辆引擎声的人不参与任何交通但能记录下每一辆经过的车。这个底层逻辑决定了后续所有操作都必须以监听模式为前提。Kali Linux 默认带了很多驱动但并不是所有 USB 网卡都能顺利进入监听模式这一点在后面第 3 节我会展开讲。2.2 捕获数据之后密码是怎么被“验证”出来的aircrack-ng的核心工作是对捕获到的数据包做密码分析。很多人误以为它是“实时破解”其实不是。它是拿捕获到的握手包WPA/WPA2 的 4-way handshake或 IV 数据WEP 场景做离线运算。这里单独说一下 WPA2 的情况。WPA2 的密码验证机制是AP 和客户端通过四次握手协商出一个会话密钥PTK而这个 PTK 的推导过程中有一个关键输入就是PSK SSID ANonce SNonce MAC 地址的组合。aircrack-ng做的事情就是从握手包里提取出 AP 的随机数ANonce、客户端的随机数SNonce、双方的 MAC 地址、以及握手包中的 MIC 校验值然后把你指定的字典里每一个候选密码都按同样的算法推导一遍看算出来的 MIC 是否和捕获到的一致。一致就说明这个密码就是字典里那一个。理解了这一步你就会明白两个很重要的事实字典里没有的密码永远跑不出来。aircrack-ng不会凭空“算”出密码它只是验证。没有抓到握手包一切都谈不上。客户端和 AP 之间没有发生完整的四次握手aircrack-ng就没有可以比对的 MIC自然无从下手。所以后面讲airodump-ng时我会重点说明如何高效抓到完整的握手包这是整个流程里技术含量最高的部分。2.3 这套方案的优势和边界Aircrack-ng 套件的优势在于组件之间配合成熟、覆盖面广而且完全开源。从信道扫描、数据包捕获、去重、转格式到离线密码分析一套命令全部搞定。相比之下有些图形化工具虽然点几下鼠标就能出结果但出了问题你很难定位是哪一步失败了而用命令行工具每一步都有清晰的输出日志排查起来非常直观。边界也很明显它是离线密码验证工具不是万能钥匙。遇到 WPA3 的 SAE 握手或者客户使用了 20 位以上随机强密码这套方案基本无能为力。这也恰恰说明只要密码设置得当WiFi 是足够安全的。这个认知很重要能帮你正确看待这套工具的价值它是“安全检查工具”不是“魔法门禁卡”。3. 环境准备网卡、驱动、系统一个都不能少3.1 系统选择Kali 还是其他发行版我个人的看法是如果你是第一次接触这套工具直接用 Kali Linux 是最省心的。Kali 默认预装了 Aircrack-ng 全套工具省去了编译安装的麻烦。当然如果你日常用的是 Ubuntu 或者 Debian也可以通过apt install aircrack-ng安装同样很简单。macOS 上也可以通过 Homebrew 装但无线网卡的监听模式支持度非常差基本只能拿来做离线分析不推荐用来抓包。Windows 上虽然有一些移植版本但驱动和网卡支持更是愁人我建议你干脆装个虚拟机跑 Kali。这里有一个容易被忽略的细节虚拟机能不能抓包取决于 USB 网卡能不能直通给虚拟机。VMware 和 VirtualBox 都支持把 USB 无线网卡直通给虚拟机但前提是你的无线网卡驱动在 Linux 里能被识别且支持监听模式。如果你用的是笔记本自带的内置网卡直接不推荐在虚拟机里折腾大概率是“能识别但进不了监听模式”非常打击积极性。3.2 网卡选型为什么某些芯片是实战首选无线审计这件事网卡芯片比品牌重要得多。我踩过最大的坑就是买了一个很常见的 USB 无线网卡结果芯片是 Realtek RTL8811AULinux 下驱动要自己编译而且监听模式不稳定抓包经常掉帧。后来换了 Atheros AR9271 芯片的网卡很多老款 150Mbps USB 网卡都是这个芯片插上就能识别监听模式非常稳定而且价格便宜是圈内默认的入门选择。如果你有更高的吞吐需求可以考虑 Ralink RT3070 或者 MT7612U 之类芯片的网卡。但这里我给你的建议是不要在网卡上追求“贵”要追求“兼容”。很多高端电竞网卡在 Linux 下的表现反而不如 50 块钱的老款芯片原因就是驱动不完善。怎么确认你的网卡是否支持监听模式插上之后在终端跑iw list找到Supported interface modes那一节如果列出了monitor说明驱动层面支持监听模式。如果没列出就别浪费时间了换网卡。注意在 Linux 下查看无线网卡是否支持监听模式iw list是最直接的方法。如果这一步都过不了后面一切免谈。3.3 安装与基本验证假设你用的是 Kali 或者 Ubuntu安装命令如下sudo apt update sudo apt install aircrack-ng安装完成后验证一下版本aircrack-ng --help如果能看到版本信息和参数说明说明安装成功。接下来用iwconfig查看你的无线网卡接口名常见的名字有wlan0、wlan1等。记下这个接口名后面所有命令都会用到。如果你用的网卡驱动是ath9k_htcAR9271 常见驱动插上之后通常不需要额外装驱动系统自动识别。Realtek 芯片则可能需要去 GitHub 找对应内核版本的驱动编译过程相对痛苦这也是我一再强调选芯片的原因。4. airodump-ng 实操抓包前的每一步都有讲究4.1 开启监听模式几种方式与避坑拿到接口名之后第一步是关闭 NetworkManager 等服务避免它抢占无线网卡。这一步不做后面会频繁遇到“网卡被断开”或者“信道不断跳动”的问题。sudo systemctl stop NetworkManager sudo systemctl stop wpa_supplicant提示如果你的系统里服务名不一样可以用sudo systemctl list-units | grep -i network查看当前网络服务的名字。核心目的就是让系统层面的网络管理工具放手把网卡完全交给我们。然后开启监听模式有两种方式。一种是传统的sudo airmon-ng start wlan0执行完成后iwconfig会看到原来的wlan0变成了wlan0mon。后续所有命令都用wlan0mon作为接口名。如果airmon-ng start提示“fail”通常是进程占用问题先跑sudo airmon-ng check kill把冲突进程清掉再重新 start。另一种是直接用ip命令设置sudo ip link set wlan0 down sudo iw dev wlan0 set type monitor sudo ip link set wlan0 up这两种方式最终效果一样。我用得比较多的是airmon-ng因为它会顺带处理一些驱动兼容性问题。但如果你用的是比较新的内核和驱动iw方式更干净不会修改接口名。4.2 信道扫描与筛选目标 AP监听模式开启后先用airodump-ng做一次全信道扫描sudo airodump-ng wlan0mon屏幕上会快速刷出周围所有 AP 和客户端的列表信息。这里有一个很关键的输出项PWR代表信号强度。数值越大负数绝对值越小说明离你越近。第一次扫描时信息会很杂这是正常的因为你正在所有信道上跳频收听。看到目标 AP 之后你要记录它的三个关键信息BSSIDAP 的 MAC 地址格式是XX:XX:XX:XX:XX:XXCH当前所在信道ENC加密方式WPA2 还是 WPA3然后锁定这个 AP 和信道重新启动捕获。这一步非常重要——如果继续在全信道模式下跑你抓到握手包的成功率会大幅降低因为你不知道数据包什么时候会从当前信道经过。sudo airodump-ng -c 6 --bssid XX:XX:XX:XX:XX:XX -w capture wlan0mon这条命令的意思是只在信道 6 上监听只关注指定的 BSSID捕获的数据保存到名为capture的文件里会自动生成.cap、.csv、.kismet.csv等文件。-w参数指定的文件名是前缀实际生成的文件会在后面自动加上扩展名。这个细节要注意因为有些朋友第一次操作时以为-w后面要写完整的.cap文件名结果生成了capture.cap.cap这样的文件虽然不影响使用但看着别扭。4.3 拿到握手包时机与技术动作WPA/WPA2 的握手包不是随时随地都能抓到的它发生在客户端和设备关联的瞬间。如果目标 AP 下已经有一个连着网的客户端你和它之间没有新握手发生那你就得想办法“催”一下。合法的方式有两种。第一种是等等客户端自己断线重连但这靠运气。第二种是主动发送 deauthentication 报文让客户端掉线然后它会自动重连在重连的瞬间四次握手就会在空中发生。airodump-ng在捕获过程中如果抓到了握手包屏幕右上角会显示WPA handshake: XX:XX:XX:XX:XX:XX这是一个非常明确的信号说明可以开始分析了。触发重连的命令通常另开一个终端窗口执行sudo aireplay-ng -0 2 -a XX:XX:XX:XX:XX:XX wlan0mon这条命令的作用是向目标 AP 的关联客户端发送 2 个 deauth 帧让它们掉线后自动重连。-0表示 deauth 攻击2是发送次数-a后面跟目标 AP 的 BSSID。这里有个实操中极易犯的错发送 deauth 时要确保airodump-ng已经锁定了正确的信道。你如果一边发 deauth、一边在信道 1 上监听而目标 AP 在信道 6 上无论发多少 deauth 都没用。所以先锁定信道再触发重连。关于触发重连是否“合法”我还是那句话只在你自己的网络或者你有书面授权的网络里做。用这个手法干扰别人正常上网属于典型的破坏网络通信后果相当严重。4.4 数据包文件里到底存了什么捕获一段时间后你会得到一个.cap文件。这个文件里包含了你在这段时间内听到的所有无线数据帧包括管理帧、控制帧和数据帧。如果用 Wireshark 打开能看到完整的协议层次。而对aircrack-ng来说它最关心的是这个.cap文件里是否包含完整的 EAPOL 帧——也就是四次握手过程中交换的几个关键帧。如果没有 EAPOL 帧.cap文件再大aircrack-ng也不会理你。文件保存路径取决于你执行命令时所在的目录。我用一个固定习惯在工作目录下建一个captures文件夹所有抓包文件都放里面避免和源码、脚本混淆。5. aircrack-ng 实操把握手包变成“密码体检报告”5.1 字典从哪里来怎么准备如果你的目标是检验自家 WiFi 密码的强度那字典准备这一步可以直接决定成败。常见选择有三种系统自带的小字典如/usr/share/wordlists/rockyou.txt.gz需要先解压从公开字典库下载的常用密码集合你自己根据目标特征生成的组合列表对于检验自家网络我最推荐的是 rockyou。这是安全圈非常常用的字典包含了一千多万个真实泄露过的密码覆盖面广对绝大多数弱密码测试都够用。解压命令sudo gzip -d /usr/share/wordlists/rockyou.txt.gz注意rockyou 文件解压后有 1G 左右跑起来需要一些时间。所以实战中我习惯先切出一部分做快速验证比如先用前 10 万条跑一遍没有命中再扩大范围。重要字典大小和密码强度直接相关。如果字典本身只有几百KB基本跟闹着玩一样。任何“秒破”的截图背后都是因为字典里恰好有目标密码。5.2 跑字典的核心命令与参数解读aircrack-ng的基础用法非常简单一行命令sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt capture.cap-c 和 --bssid 参数可以帮助过滤让分析只针对特定 APsudo aircrack-ng -b XX:XX:XX:XX:XX:XX -w /usr/share/wordlists/rockyou.txt capture.cap运行后aircrack-ng会先扫描文件里的所有 AP 和握手包然后开始逐条测试字典里的密码。屏幕上会显示实时进度包括当前测试到第几个密码、当前密码是什么、测试速度是多少。这里有一个关键概念测试速度取决于 CPU 单核性能aircrack-ng默认是单线程跑 PBKDF2-SHA1 运算的。如果你想要快一点可以用 GPU 工具比如 hashcat替代但复杂度会高一个量级。对于入门级测试CPU 跑就已经足够因为验证一个密码只需要几百毫秒百万级字典也就几个小时。命中密码之后屏幕上会醒目地显示KEY FOUND! [ 你的密码 ]。这一刻算是整个流程里最有成就感的瞬间。但我想强调的是如果跑完整个字典都没有命中不代表密码不可破解只能说明你的密码不在这个字典里这是一个概率问题不是安全证明。5.3 WEP 场景了解即可不要真去折腾WEP 已经有二十年历史了现在基本碰不到但为了完整性还是提一下。WEP 的加密方式决定了它会通过 IV初始化向量泄露大量信息airodump-ng抓到足够数量的 IV 之后aircrack-ng直接分析-IV 就能还原出密钥不需要字典。这个过程速度极快几万到几十万个 IV 就能出结果。但我要提醒你如果你在 2025 年了还在用 WEP 加密自家路由器这个测试结果会告诉你你的网络等于裸奔。尽早换 WPA2/WPA3 才是正事。5.4 密码强度自检的完整流程清单我总结一套自己常用的“家庭 WiFi 密码体检”流程你照着做就能完成一次完整的自检确认你有自家路由器的管理权限最好先把 WiFi 密码改成你想测试的那个临时密码。开启监听模式锁定自家 AP 的信道。用airodump-ng捕获一段时间确保手机或电脑连过一次 WiFi抓到握手包。用包含百万级常见密码的字典跑一次aircrack-ng。如果 10 分钟内就被命中说明你的密码强度不够立刻去路由器后台换一个更复杂的强密码。如果字典跑完没命中也不能完全放心建议再用不同字典或规则跑第二轮。这套流程做完你能对自己网络的密码强度有一个非常直观的认知比任何“密码检测网站”都靠谱。6. 常见的坑与排查思路每个我都亲自踩过6.1 “网卡进不了监听模式” 的排查顺序出现“无效参数”或者command failed: Operation not supported时先不要慌。按这个顺序排查先确认iw list的输出里有没有monitor模式。再确认是不是内核模块冲突尝试sudo modprobe -r卸载网卡驱动再重新加载。如果以上都不行试试换一个 USB 口。USB 3.0 口有时候反而会因为兼容性问题导致监听模式异常插回 USB 2.0 口就好。我遇到过一种极其隐蔽的情况网卡支持监听模式但只要网卡设备名里带phy0编号多块网卡共存时airmon-ng会搞混接口名。这时候老老实实用iw命令行方式开启监听模式并手动指定接口名反而更稳定。6.2 “一直抓不到握手包” 的常见原因这是新手最容易卡住的地方。屏幕右下角 BSSID 后面WPA handshake一直没有出现我一般这么排查确认目标 AP 的信道有没有锁定。airodump-ng屏幕右上角的当前信道如果没有跟着变说明你没有加-c参数或者加的-c值不对。确认客户端是否存在。没有客户端连着目标 APdeauth 发了也白发因为没人会重连。这时候只能等。确认 deauth 是否真的发出去了。用aireplay-ng时如果目标网卡驱动不支持注入命令会报错。可以用sudo aireplay-ng --test wlan0mon先测一下注入能力。还有一种情况笔记本内置网卡在监听模式下能收包但不能发包没有注入能力。这非常常见。解决方案就是换一张支持注入的外置 USB 网卡AR9271 芯片那种。6.3 “跑了很久还是没跑出来密码” 的冷静解决法跑了一个小时0 命中很正常。先确认三件事字典路径有没有写对。很多人把路径写成了~/wordlists/rockyou.txt但实际文件在/usr/share/wordlists/自然一直找不到文件aircrack-ng会直接报错退出。确认捕获文件里确实有 EAPOL 帧。用sudo aircrack-ng capture.cap看一下它会列出文件里所有的 AP 和握手包状态。确认你测的是自己设过的密码不是随机猜一个“可能”存在的密码。这话听着像废话但真的有人拿别人的 capture 文件来跑字典说“怎么跑不出来”那是因为密码本来就是 32 位随机串字典里当然没有。6.4 抓包文件直接损坏或为空这个问题多见于强制关闭airodump-ng时。解决方法是别用CtrlC之外的粗暴方式结束进程结束时要等它刷完 buffer屏幕出现Writing packets to...的行再关终端。另外提醒一点.cap文件是存在内存里的程序正常退出时会 flush 到磁盘。如果你直接拔 USB 网卡或者强制关机文件大概率是空的。养成好习惯CtrlC正常结束再看文件大小。7. 最后关于合法边界和这套工具的正确使用姿势这篇文章里所有的命令、参数、原理都是信息安全教学和网络运维中的常见技术内容。Aircrack-ng 套件存在的意义是帮助你理解无线网络的加密机制并在授权范围内验证网络安全性。如果你看完文章跃跃欲试想拿它去连隔壁的 WiFi我劝你立刻打消这个念头。很多司法判例都清楚地表明未经授权访问他人无线网络哪怕仅仅是“尝试破解密码”都可能构成违法甚至被追究刑事责任。技术本身没有立场但使用技术的人必须有边界。我自己的习惯是每隔半年就会用自己的家里 WiFi 密码做一次这种“体检”换一个新密码后测一遍看它能不能扛住常见字典的快速枚举。这已经是我网络管理流程的一部分了。你也可以把它当成一种安全习惯来做定期验证自家路由器密码强度检查周围有没有可疑的钓鱼 AP确认自己所在环境的无线信号覆盖和信道干扰情况。这些才是 airodump-ng 和 aircrack-ng 真正的价值所在而不是“破解”这两个字背后那些充满诱惑又充满危险的想象。希望这篇教程能帮你在一个完全合规的框架内用好这套好工具。如果你在操作过程中遇到任何问题欢迎在评论区留言我看到都会回复。
返回列表