当前位置: 首页 > news >正文

从零开始:使用Aircrack-ng捕获WiFi握手包与密码破解实战

1. 环境准备:硬件与软件的双重门槛

想玩转WiFi安全测试,第一步不是敲命令,而是搞定你的“装备”。很多新手朋友一上来就卡在了硬件上,这太正常了。我刚开始折腾的时候,也以为随便找个USB无线网卡插上就能用,结果发现系统根本不认,或者认了也没法用,白白浪费了好几天时间。

首先,你得有一块“听话”的网卡。这里的“听话”特指支持监听模式数据包注入。简单来说,普通的网卡就像个收音机,只能被动接收发给自己的信号。而我们需要一块能“窃听”所有频道对话,甚至能“模仿”别人说话的网卡。市面上常见的笔记本内置网卡,99%都不支持这个功能。所以,你得额外准备一块外置USB无线网卡。经过我这么多年的折腾,有几款芯片是公认的“神卡”,兼容性好,驱动完善,比如Ralink RT3070Realtek RTL8812AUAtheros AR9271。这些芯片的网卡在淘宝上几十块就能买到,搜索“Kali Linux 免驱 无线网卡”基本不会错。

其次,你需要一个合适的操作系统环境。最省心的选择无疑是Kali Linux。它就像是一个为安全测试量身定做的瑞士军刀,Aircrack-ng套件以及所有依赖都已经预装好了,开箱即用。你可以把它安装在虚拟机里(比如VMware或VirtualBox),也可以直接装在U盘或电脑上作为主系统。这里有个新手必踩的大坑虚拟机使用USB网卡。你需要确保两点:第一,虚拟机软件(如VMware)正确识别并连接了USB网卡设备;第二,在虚拟机设置里,将网卡从“桥接模式”或“NAT模式”改为“仅主机模式”或直接断开虚拟网络,避免虚拟机的网络管理服务(如NetworkManager)和你即将开启的监听模式冲突。我强烈建议新手先在虚拟机里练手,搞崩了恢复快照就行,不伤主机。

准备好硬件和系统后,打开你的Kali Linux终端。第一件事,确认网卡被系统识别。输入命令ifconfigip a,你应该能看到除了lo(本地回环)和eth0(有线网卡)之外,还有一个以wlan开头的接口,比如wlan0。如果没看到,检查USB连接和虚拟机设置。看到它,你的万里长征就迈出了坚实的第一步。

2. 开启监听模式:让网卡“听见”所有对话

网卡被识别后,默认处于管理模式,它只关心和自己相关的网络通信,比如你连接某个WiFi后的数据交换。我们要做的第一件事,就是把它切换到监听模式。你可以把这个过程想象成让一个普通市民变成情报人员,他不再只关注自己的电话,而是开始监听整个城市所有频道的无线电信号。

这里会用到Aircrack-ng套件里的第一个核心工具:airmon-ng。但在开启监听前,有个非常重要的准备工作——清理可能干扰的进程。Linux系统里有一些后台服务(比如NetworkManager、wpa_supplicant)会尝试管理你的无线网卡,它们会和你即将开启的监听模式“打架”,导致监听失败。所以,我们先运行:

sudo airmon-ng check kill

这条命令会列出并终止可能造成冲突的进程。放心,这不会损坏你的系统,只是暂时让这些服务歇会儿。完成后,我们就可以正式开启监听模式了:

sudo airmon-ng start wlan0

请将wlan0替换成你实际看到的无线网卡接口名。命令执行成功后,你会看到类似(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)的提示。最关键的是最后一句,它告诉你监听模式已经开启,并且网卡接口名变成了wlan0mon(通常在原名后加mon)。

验证一下:再次输入ifconfig,你应该能看到一个名为wlan0mon的新接口。这就对了!现在你的网卡已经进入“超级窃听”状态,可以捕获周围所有WiFi频道上的原始数据帧了。如果这一步报错,比如提示“Device or resource busy”,大概率是还有顽固进程没杀掉,可以尝试用sudo systemctl stop NetworkManagersudo systemctl stop wpa_supplicant手动停止服务,再执行airmon-ng start

3. 扫描与锁定目标:找到你想“了解”的网络

网卡进入监听模式后,我们就可以用它来“看”清周围的无线环境了。这就像打开了一个无线电频谱仪,所有WiFi信号都无所遁形。这里的主角是airodump-ng

在终端中输入:

sudo airodump-ng wlan0mon

屏幕会开始滚动刷新,显示两个主要区域。上半部分是扫描到的所有无线接入点,也就是我们常说的路由器或热点。每一行都包含关键信息:

  • BSSID:这是接入点的唯一硬件地址,也就是MAC地址,格式如AA:BB:CC:DD:EE:FF。这是我们后续所有操作中识别目标的“身份证”。
  • PWR:信号强度。数值越接近0(比如-30),信号越好;数值越小(比如-90),信号越差。信号太弱会严重影响抓包成功率。
  • CH:信道。WiFi工作的频率频道,从1到13(2.4GHz频段)。
  • ENC:加密方式。我们关注的是WPA2WPA(现在WEP基本绝迹了)。这决定了我们后续的攻击方法。
  • ESSID:网络名称,也就是你手机搜索WiFi时看到的那个名字。有些网络会隐藏ESSID,这里就显示为<length: 0>

屏幕下半部分显示的是已连接到这些接入点的客户端设备(手机、电脑等),以及它们对应的BSSID。

如何选择目标?出于学习和测试的目的,强烈建议你只针对自己的家庭网络进行实验。找到你自己路由器的ESSID,记下它的BSSIDCH(信道)。这两个信息是下一步的关键。当你确认目标后,按Ctrl+C停止扫描。

4. 捕获握手包:等待“握手”的瞬间

锁定目标后,我们就要开始专注地“蹲守”了。WPA/WPA2加密的密码,并不是在普通的数据包里明文传输的。密码验证过程发生在一种叫做“四次握手”的协议交互中。我们的目标就是捕获包含这四次握手过程的握手包。这个包本身是加密的,但它包含了用密码生成的哈希值,为我们后续的离线破解提供了可能。

我们使用airodump-ng的定向抓包功能。新开一个终端窗口(保持上一个扫描窗口关闭或另开),输入:

sudo airodump-ng --bssid [目标BSSID] -c [信道] -w [输出文件前缀] wlan0mon

举个例子,如果你的目标BSSID是AA:BB:CC:DD:EE:FF,工作在信道6,你想把抓到的包存为my_capture,那么命令就是:

sudo airodump-ng --bssid AA:BB:CC:DD:EE:FF -c 6 -w my_capture wlan0mon
  • --bssid:指定只捕获目标接入点的数据包,过滤掉其他无关信号,让数据更干净。
  • -c:指定监听的信道,让网卡专注在一个频道上,提高捕获效率。
  • -w:指定输出文件的前缀。抓到的数据会保存为my_capture-01.capmy_capture-02.cap这样的文件。

执行后,这个终端会进入实时监控状态。右上角会显示抓到的数据包数量。现在,你需要耐心等待。只有当有新的设备连接这个WiFi,或者已连接的设备重新进行认证时,握手过程才会发生,你才有可能抓到握手包。如果网络一直很安静,你可能等上一天也抓不到。

5. 主动触发握手:让用户“掉线重连”

干等不是办法,尤其是当你测试的网络只有你自己在用,或者长时间没有新设备连接时。这时,我们就需要“帮”客户端一下,主动创造一个握手的机会。这就是Deauth攻击

Deauth攻击的原理是,向已连接的客户端发送一种特殊的“取消认证”数据包,欺骗它说“路由器让你下线了”。客户端信以为真,就会断开连接,随后为了重新上网,它会自动发起重连流程,从而产生我们梦寐以求的握手包。

注意:这个操作会短暂中断目标客户端的网络连接,请务必只在你拥有完全控制权的设备(比如你自己的另一台手机或电脑)上测试。

保持抓包的那个终端运行,新开第三个终端窗口,使用aireplay-ng工具:

sudo aireplay-ng --deauth 10 -a [目标路由器BSSID] -c [目标客户端BSSID] wlan0mon
  • --deauth 10:发送10个Deauth攻击包。数量可以调整,一般10-20个足够。
  • -a:后面跟目标路由器的BSSID。
  • -c:后面跟目标客户端的BSSID(从之前airodump-ng扫描结果的下半部分获取)。如果你不知道客户端MAC,可以省略-c参数,进行广播式攻击,但针对性攻击成功率更高、影响范围更小。

执行命令后,你会看到一连串的发送记录。立刻回头观察抓包的那个终端窗口!如果攻击成功,通常在几秒内,你会在屏幕的右上角看到一行醒目的提示:[ WPA handshake: AA:BB:CC:DD:EE:FF ]

恭喜!这行字出现,就意味着握手包已经成功捕获并保存到你指定的.cap文件里了。这是整个过程中最具技术含量也最关键的一步。一旦看到这个提示,你就可以在抓包终端按Ctrl+C停止捕获了。

6. 密码破解:与字典的较量

握手包到手,相当于我们拿到了一把锁的锁芯结构(哈希值),现在需要找到能打开它的那把钥匙(密码)。Aircrack-ng 的最后一步,就是进行离线字典破解。这个过程不依赖网络,完全在你的电脑上运行,比拼的是你的CPU/GPU算力和字典的质量。

首先,你需要一个密码字典文件。这是一个文本文件,里面一行一个可能的密码。Kali Linux自带了一个著名的弱密码字典rockyou.txt,位于/usr/share/wordlists/目录下。你可以先用它试试手气。当然,对于稍微复杂点的密码,这个字典基本没戏。网络上可以找到很多庞大的密码字典,你也可以用工具(如crunch)根据特定规则(比如生日、电话号码格式)生成自定义字典。

破解命令如下:

sudo aircrack-ng -w [字典文件路径] -b [目标BSSID] [捕获的.cap文件路径]

例如:

sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt -b AA:BB:CC:DD:EE:FF /home/kali/my_capture-01.cap
  • -w:指定字典文件。
  • -b:再次指定目标BSSID,确保从抓到的多个包中正确选择。
  • 最后是.cap文件的路径。

命令执行后,aircrack-ng会开始逐行读取字典,用每个密码去计算哈希,并与握手包中的哈希值进行比对。这个过程可能会非常漫长,完全取决于密码的复杂度和字典的大小。屏幕上会实时显示测试速度(keys/s)和进度。

如果运气好,密码就在你的字典里,最终会显示一行令人激动的绿色文字:KEY FOUND! [ 你的密码 ]如果字典跑完了都没找到,那就只能更换更强大、更有针对性的字典再试,或者承认这是一个强密码,本次测试失败。

7. 实战避坑指南与进阶思路

纸上得来终觉浅,我结合自己踩过的坑,给你总结几个关键点:

1. 抓不到握手包怎么办?

  • 信号问题:离路由器近一点。PWR信号强度最好在 -60 以上。
  • 没有活跃客户端:Deauth攻击需要至少一个已连接的客户端。确保有设备在线。
  • 网卡驱动/兼容性问题:这是最常见的问题。确保你的网卡芯片被Kali良好支持。可以尝试更新系统 (sudo apt update && sudo apt upgrade) 或安装特定驱动。
  • 虚拟机USB穿透问题:确保虚拟机正确捕获了USB网卡设备,并且在Kali里能看到它。

2. 破解速度太慢?aircrack-ng默认使用CPU运算。如果你的字典很大,这会是一个漫长的过程。进阶方案是使用GPU加速。工具如Hashcat可以利用显卡(尤其是NVIDIA GPU)的强大并行计算能力,将破解速度提升数十甚至上百倍。操作流程是:先用hcxpcapngtool工具将抓到的.cap握手包转换成Hashcat支持的格式(如.hccapx),然后用Hashcat指定WPA2模式(-m 2500)进行破解。这对硬件有一定要求,但效率是天壤之别。

3. 关于字典的哲学破解的本质是概率学。一个高质量的字典至关重要。不要盲目追求“超大”字典(几十GB那种),那会浪费大量时间在极低概率的组合上。优先使用常用弱密码字典泄露的密码库,并结合社会工程学信息(比如目标可能使用的生日、姓名拼音、电话号码等)制作针对性字典。工具crunch可以根据长度、字符集等规则生成精准字典。

4. 最重要的提醒:法律与道德所有技术都应在合法授权的范围内使用。未经授权对他人的网络进行扫描、攻击和破解,是明确的违法行为。本文所有内容仅用于安全学习、教学演示及对自有设备的测试验证。请务必树立正确的安全观,用你的技术去保护网络,而不是破坏它。在开始任何测试之前,最好在完全隔离的实验室环境(比如用自己的两个路由器搭建)中进行。技术是一把双刃剑,握剑的手决定了它的方向。

http://www.jsqmd.com/news/452706/

相关文章:

  • 企业项目管理系统选型指南:9 款 SaaS 横向比较与落地步骤
  • 告别单调屏保:FlipIt翻页时钟如何重塑你的Windows时间体验
  • 显存故障精准定位:专业级硬件诊断工具memtest_vulkan应用指南
  • 网站开发毕业设计论文实战指南:从选题到部署的全链路技术实现
  • WPF ContentPresenter实战指南:从基础到高级应用
  • Ubuntu 22.04 上 Fcitx5 输入法一键配置指南(含自动部署脚本和皮肤安装)
  • CentOS7.6离线升级GCC8.3.0全流程记录(附依赖包下载与软连接处理)
  • Bligify:突破Blender动画GIF制作边界的开源解决方案
  • UOS/Deepin V20 高效办公必备:快捷键全解析与实战技巧
  • 破解戴森电池锁死难题:开源固件焕新计划拯救你的吸尘器
  • 零代码实现专业级图像修复:Resynthesizer插件跨平台安装指南
  • 基于YOLO算法的毕业设计效率提升实战:从模型轻量化到推理加速
  • 3个维度打造学术效率引擎:Zotero Connectors知识管理全攻略
  • 企业级Hyper-V管理实战:如何用OpManager优化资源分配与故障响应
  • tabula-py:让PDF表格提取效率提升80%的数据分析神器
  • MacBook M1用户必看:B站直播OBS配置全攻略(含Loopback替代方案)
  • 戴森突然罢工?开源固件如何破解厂商限制
  • 手机视频太占空间?这款Android视频压缩工具让存储效率提升10倍
  • 计算机考研408算法精讲:折半查找判定树的构建与深度剖析
  • 数字记忆的终极守护者:GetQzonehistory零门槛QQ空间备份指南
  • 工业自动化通信指南:欧姆龙CJ1W-SCU21的LinkWord功能详解与协议宏配置
  • 从零打造HID手柄:基于STM32的免驱USB游戏控制器DIY
  • 从仿真到PCB:基于LM386的高保真音频放大器全流程实战
  • 实时实例分割:从像素级定位到产业落地的技术演进与实践指南
  • 突破压缩效率瓶颈:7-Zip-zstd多算法优化实战指南
  • 3大策略构建个人数据安全备份体系:从威胁防护到安全存储完整方案
  • Jetson GStreamer 避坑指南:5个新手最常踩的硬件加速陷阱(附解决方案)
  • 突破内容壁垒的6大合规策略:内容访问优化从入门到精通
  • 3倍文献管理效率提升:Zotero Format Metadata技术解析与应用指南
  • 串口通信协议对比:RS-232、RS-485与USB的实战选型指南