reaver使用教程

Reaver是Kali Linux中一款款专注于破解Wi-Fi Protected Setup(WPS)协议的工具,通过对无线路由器的WPS PIN码进行暴力破解,最终获取无线网络的WPA/WPA2-PSK密码(即Wi-Fi连接密码)。

WPS是许多无线路由器默认开启的简化网络配置功能,允许用户通过输入8位PIN码快速连接Wi-Fi,无需记忆复杂的WPA密码。但该协议制存在设计缺陷:8位PIN码的前4位和后3位可分别破解(最后1位为校验位),实际暴力破解空间仅为11000种可能(前4位0000-9999,后3位000-999),远小于直接破解WPA密码的复杂度。

Reaver通过模拟WPS认证过程,向目标路由器发送大量PIN码尝试请求,当猜中正确PIN码后,即可获取路由器返回的WPA-PSK密码。此外,Reaver支持与pixiewps工具联动,利用部分路由器的WPS漏洞加速破解(无需完整暴力破解),是无线网络安全测试中破解WPS-enabled路由器的核心工具。

命令参数说明

必要参数(必须指定)

参数 英文描述 中文翻译与详细说明
-i, --interface=<wlan> Name of the monitor-mode interface to use 指定用于破解的监控模式网卡接口(如wlan0mon),必须先将网卡切换为监控模式(可通过airmon-ng实现),否则无法捕获和发送WPS认证帧。
-b, --bssid=<mac> BSSID of the target AP 目标无线路由器的BSSID(MAC地址,格式如AA:BB:CC:DD:EE:FF),用于唯一标识目标设备,可通过airodump-ng扫描获取。

可选参数

参数 英文描述 中文翻译与详细说明
-m, --mac=<mac> MAC of the host system 指定本机网卡的MAC地址(用于伪装,避免被目标路由器识别为同一设备),格式与BSSID相同,如11:22:33:44:55:66。
-e, --essid=<ssid> ESSID of the target AP 目标无线网络的名称(ESSID),如"MyHomeWiFi",可选参数,用于辅助确认目标设备。
-c, --channel=<channel> Set the 802.11 channel for the interface (implies -f) 指定目标路由器所在的信道(如6、11),需与目标信道一致,设置后自动启用固定信道模式(-f),不进行信道跳频。
-s, --session=<file> Restore a previous session file 恢复之前保存的破解会话文件(.wpc格式),用于继续中断的破解过程,避免重新开始(如断电、网络中断后)。
-C, --exec=<command> Execute the supplied command upon successful pin recovery 当PIN码破解成功后,自动执行指定命令(如发送通知、保存结果到文件),示例:-C "echo '破解成功' >> result.txt"。
-f, --fixed Disable channel hopping 禁用信道跳频,强制网卡固定在当前信道(通常与-c参数配合使用,确保与目标信道一致)。
-5, --5ghz Use 5GHz 802.11 channels 指定使用5GHz频段信道(默认扫描2.4GHz),适用于目标路由器工作在5GHz频段的场景。
-v, --verbose Display non-critical warnings (-vv or -vvv for more) 显示详细输出信息,-v显示基本警告,-vv显示认证过程,-vvv显示完整数据包交互(用于调试)。
-q, --quiet Only display critical messages 仅显示关键信息(如破解成功、致命错误),减少冗余输出。
-h, --help Show help 显示帮助信息(参数说明和示例)并退出。

高级参数

参数 英文描述 中文翻译与详细说明
-p, --pin=<wps pin> Use the specified pin (may be arbitrary string or 4/8 digit WPS pin) 使用指定的PIN码进行认证(而非暴力破解),支持4位或8位PIN码,适用于已知PIN码时直接获取WPA密码。
-d, --delay=<seconds> Set the delay between pin attempts [1] 设置两次PIN码尝试之间的延迟时间(秒),默认1秒,部分路由器对频繁尝试敏感,需增大延迟(如5秒)避免被锁定。
-l, --lock-delay=<seconds> Set the time to wait if the AP locks WPS pin attempts [60] 当目标路由器锁定WPS功能后,等待解锁的时间(秒),默认60秒,部分路由器锁定时间更长(如300秒),需手动调整。
-g, --max-attempts=<num> Quit after num pin attempts 设置最大PIN码尝试次数,达到次数后自动退出,避免无限制尝试(如设置为1000,尝试1000次后停止)。
-x, --fail-wait=<seconds> Set the time to sleep after 10 unexpected failures [0] 连续10次非预期失败后,暂停的时间(秒),默认0秒,适用于网络不稳定场景,减少错误重试。
-r, --recurring-delay=<x:y> Sleep for y seconds every x pin attempts 每尝试x次PIN码后,暂停y秒(如-r 10:30表示每尝试10次,暂停30秒),用于规避路由器的频率检测。
-t, --timeout=<seconds> Set the receive timeout period [10] 设置接收数据包的超时时间(秒),默认10秒,网络延迟高时可增大(如15秒),避免误判超时。
-T, --m57-timeout=<seconds> Set the M5/M7 timeout period [0.40] 设置WPS M5/M7帧的超时时间(秒),默认0.4秒,部分路由器响应较慢,需增大(如1秒)。
-A, --no-associate Do not associate with the AP (association must be done by another application) 不自动与目标AP关联,需通过其他工具(如aireplay-ng)手动建立关联,适用于特殊认证场景。
-N, --no-nacks Do not send NACK messages when out of order packets are received 接收乱序数据包时不发送NACK消息,部分路由器对NACK敏感,禁用后可提高兼容性。
-S, --dh-small Use small DH keys to improve crack speed 使用小DH密钥加速破解,需与pixiewps配合使用,但可能导致部分路由器认证失败(不推荐常规使用)。
-L, --ignore-locks Ignore locked state reported by the target AP 忽略目标AP返回的锁定状态,强制继续尝试PIN码(可能导致路由器永久锁定WPS,谨慎使用)。
-E, --eap-terminate Terminate each WPS session with an EAP FAIL packet 每次WPS会话结束时发送EAP FAIL包,部分路由器需要此包才能正确处理下一次尝试。
-J, --timeout-is-nack Treat timeout as NACK (DIR-300/320) 将超时视为NACK消息,适用于D-Link DIR-300/320等特定型号路由器,提高兼容性。
-F, --ignore-fcs Ignore frame checksum errors 忽略帧校验和错误,适用于无线信号差、数据包易损坏的场景,避免频繁报错中断破解。
-w, --win7 Mimic a Windows 7 registrar [False] 模拟Windows 7系统的WPS登记器,部分路由器仅允许特定系统的WPS请求,启用后可提高兼容性。
-K, --pixie-dust Run pixiedust attack 启用pixiewps攻击(灰尘攻击),利用目标路由器的WPS漏洞快速破解PIN码,无需完整暴力破解(推荐优先使用)。
-Z Run pixiedust attack 与-K参数功能相同,启用pixiewps攻击(兼容旧版本语法)。
-O, --output-file=<filename> Write packets of interest into pcap file 将关键数据包(如WPS M1-M7帧)保存到pcap文件,用于后续分析或手动提取参数供pixiewps使用。

使用教程

1. 准备工作

1.1 硬件与软件要求

  • 无线网卡 :必须支持监控模式数据包注入 (如Alfa AWUS036NH、TP-Link TL-WN722N v1),可通过iw list | grep "monitor"验证(有输出表示支持监控模式);
  • 软件依赖 :Kali Linux默认预装Reaver,验证命令:reaver -h;若未安装,执行sudo apt update && sudo apt install reaver
  • 辅助工具 :需要aircrack-ng套件(包含airmon-ng、airodump-ng),用于启用监控模式和扫描目标,安装命令:sudo apt install aircrack-ng

1.2 目标条件

Reaver仅对满足以下条件的目标有效:

  • 目标路由器开启WPS功能(可通过airodump-ng扫描时的"WPS"列确认,显示"PBC"或"PIN"即支持);
  • WPS功能未被锁定(部分路由器在多次失败尝试后会临时锁定,需等待解锁);
  • 无线信号强度足够(建议高于-70dBm,信号过弱会导致数据包丢失,延长破解时间)。

2. 基础流程:使用Reaver暴力破解WPS PIN

该流程适用于目标路由器无已知漏洞的场景,通过暴力尝试所有可能的WPS PIN码获取WPA密码。

  1. 步骤1:启用无线网卡监控模式

    1. 列出所有无线网卡,确认接口名称(如wlan0):
    复制代码
    iwconfig
    1. 停止干扰监控模式的进程(如NetworkManager):
    复制代码
    sudo airmon-ng check kill
    1. 将网卡切换为监控模式(接口名变为wlan0mon):
    复制代码
    sudo airmon-ng start wlan0
    1. 验证监控模式是否启用(显示"Mode:Monitor"):
    复制代码
    iwconfig wlan0mon
  2. 步骤2:扫描目标WPS网络

    使用airodump-ng扫描附近开启WPS的路由器,记录关键信息:

    复制代码
    sudo airodump-ng wlan0mon

    扫描结果中需关注:

    • BSSID:目标路由器的MAC地址(如AA:BB:CC:DD:EE:FF);
    • CH:目标信道(如6、11);
    • ESSID:网络名称(如"TP-Link_1234");
    • WPS:确认支持WPS(如"WPS: 1.0"或"WPS: Locked",锁定状态需等待解锁)。

    按"Ctrl+C"停止扫描,记录目标BSSID和信道。

  3. 步骤3:开始暴力破解

    使用Reaver对目标发起WPS PIN暴力破解,基础命令格式:

    复制代码
    sudo reaver -i 监控接口 -b 目标BSSID -c 目标信道 -vv

    示例(监控接口wlan0mon,BSSID为AA:BB:CC:DD:EE:FF,信道6):

    复制代码
    sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -vv

    参数说明:-vv显示详细认证过程,便于观察进度和排查问题。

    破解过程解析

    • Reaver首先与目标路由器建立WPS连接,交换M1-M3帧;
    • 依次尝试可能的PIN码(00000000到99999999,按优化顺序尝试);
    • 每次尝试后,根据路由器返回结果判断PIN码是否正确(前4位或后3位正确会有不同响应);
    • 若路由器锁定WPS,会自动等待设定的锁定延迟时间(默认60秒)后继续。
  4. 步骤4:获取破解结果

    破解成功后,终端会输出类似以下信息:

    复制代码
    [+] WPS PIN: 12345670
    [+] WPA PSK: 87654321abcdef
    [+] AP SSID: TP-Link_1234
        

    其中:

    • "WPS PIN"为目标路由器的WPS PIN码;
    • "WPA PSK"为Wi-Fi连接密码,可直接用于连接网络;
    • "AP SSID"为目标网络名称,确认与扫描结果一致。
  5. 步骤5:恢复网卡正常模式(可选)

    破解完成后,关闭监控模式,恢复网卡正常工作:

    复制代码
    sudo airmon-ng stop wlan0mon
    sudo systemctl start NetworkManager  # 重启网络管理服务

3. 进阶流程:结合pixiewps加速破解(灰尘攻击)

若目标路由器存在WPS漏洞(如使用Realtek、eCos系统的设备),可通过-K参数调用pixiewps工具,无需暴力尝试即可快速获取PIN码,大幅缩短破解时间。

  1. 步骤1-2:同基础流程,启用监控模式并扫描目标(记录BSSID和信道)。

  2. 步骤3:启用pixiewps攻击

    命令格式(添加-K参数):

    复制代码
    sudo reaver -i 监控接口 -b 目标BSSID -c 目标信道 -K -vv

    示例:

    复制代码
    sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -K -vv

    参数说明:-K启用pixiewps攻击,Reaver会自动捕获WPS认证数据并传递给pixiewps,利用漏洞破解PIN码。

    攻击过程解析

    • Reaver与目标建立WPS连接,捕获M1-M3帧中的关键参数(DH公钥、随机数、哈希值等);
    • 自动调用pixiewps,尝试模式1-3漏洞利用(针对不同厂商设备);
    • 若目标存在漏洞,pixiewps会在几秒到几分钟内输出正确PIN码,Reaver随后计算WPA密码。
  3. 步骤4:同基础流程,获取WPA密码并恢复网卡模式。

4. 特殊场景处理

4.1 中断后恢复破解进度

Reaver会自动保存会话文件(.wpc格式,位于当前目录,以BSSID命名),中断后可通过-s参数恢复:

复制代码
sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -s AA:BB:CC:DD:EE:FF.wpc -vv

4.2 已知PIN码时直接获取WPA密码

若已知目标WPS PIN码(如从路由器底部标签获取),可通过-p参数直接认证:

复制代码
sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -p 12345670 -vv

执行后会直接返回WPA-PSK密码,无需暴力破解。

4.3 应对路由器锁定WPS

部分路由器在5-10次失败尝试后会锁定WPS(10-60分钟),可通过以下参数减少锁定风险:

复制代码
sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -d 5 -l 300 -vv

参数说明:-d 5(每次尝试间隔5秒)、-l 300(锁定后等待300秒),降低尝试频率。

4.4 保存WPS数据包用于手动分析

使用-O参数将WPS认证帧保存为pcap文件,供后续用Wireshark分析或手动提取参数:

复制代码
sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -O wps_capture.pcap -vv

5. 常见问题与解决方案

5.1 报错"Failed to associate with AP"(无法与目标关联)

问题原因:无线信号弱、目标信道错误或网卡驱动不兼容。

解决方案:

  • 靠近目标路由器,确保信号强度高于-70dBm(airodump-ng中"PWR"列数值越大信号越强);
  • 确认-c参数指定的信道与目标一致,错误信道会导致无法关联;
  • 更新网卡驱动:sudo apt update && sudo apt upgrade,或更换兼容网卡(如Alfa系列)。

5.2 破解进度停滞,提示"Received timeout"(超时)

问题原因:网络延迟高、路由器响应慢或数据包丢失。

解决方案:

  • 增大超时时间:-t 15(设置为15秒)和-T 1(M5/M7超时1秒);
  • 启用忽略校验和错误:-F,减少因信号差导致的数据包校验失败;
  • 使用-r 5:10参数,每尝试5次暂停10秒,降低网络负载。

5.3 提示"WPS locked"(WPS已锁定)

问题原因:多次失败尝试触发路由器WPS锁定机制。

解决方案:

  • 等待锁定时间结束(默认等待60秒,可通过-l 300设置为5分钟);
  • 若频繁锁定,减少尝试频率:-d 10(每次尝试间隔10秒);
  • 避免使用-L参数强制忽略锁定(可能导致路由器永久禁用WPS)。

5.4 pixiewps攻击失败,提示"Pixiewps failed to find a valid PIN"

问题原因:目标路由器不存在pixiewps支持的漏洞,或参数捕获不完整。

解决方案:

  • 关闭-K参数,改用常规暴力破解模式;
  • 确认目标路由器型号,查询是否存在已知WPS漏洞(如Realtek RTL819x芯片设备较易受攻击);
  • 重新扫描并确保捕获完整的WPS帧(可通过-O保存数据包,用Wireshark验证)。

6. 注意事项

  • 法律与伦理红线 :Reaver仅可用于已授权的网络安全测试(如测试自己的路由器),未经允许破解他人Wi-Fi属于违法行为,可能违反《网络安全法》《治安管理处罚法》,面临罚款或刑事责任。
  • 破解时间差异:暴力破解时间从几分钟到几小时不等,取决于路由器的WPS实现(部分路由器会故意延迟响应)、信号质量和尝试频率,耐心是成功的关键。
  • WPS功能现状 :新版路由器多默认关闭WPS功能或修复了相关漏洞,Reaver的成功率已大幅下降,建议优先尝试pixiewps攻击(-K参数),失败后再考虑暴力破解。
  • 避免滥用工具:即使成功破解他人Wi-Fi,也不可未经允许访问网络资源(如窃取数据、发起攻击),网络安全测试的目的是发现漏洞并帮助修复,而非非法入侵。
  • 保护自身网络:作为防御措施,建议关闭自家路由器的WPS功能(在管理界面设置),使用复杂的WPA2-PSK密码(12位以上混合字符),定期更新路由器固件。

7. 总结

Reaver是WPS协议破解的经典工具,通过暴力尝试PIN码或结合pixiewps漏洞利用,可高效获取Wi-Fi密码,是无线网络安全测试的重要工具。但需明确:工具的合法性完全取决于使用场景,必须在获得明确授权的前提下操作。

使用时应优先尝试-K参数启用pixiewps攻击(利用漏洞加速破解),失败后再进行常规暴力破解,并根据目标路由器的特性调整延迟、超时等参数,提高成功率。同时,需时刻牢记法律与伦理边界,将工具用于正当的安全测试与学习,推动网络安全防护水平的提升。

相关推荐
blog.pytool.com2 小时前
Ubuntu 22.04 解决 Qt 报错:Unknown module (s) in QT: qml quick
linux·qt·ubuntu
MarkHD2 小时前
RPA工程化实践:三种核心设计模式让复杂流程优雅可控
linux·设计模式·rpa
llilian_162 小时前
卫星时钟 时钟同步解决方案——基于高精度卫星时钟同步授时装置 卫星同步时钟 授时同步装置
功能测试·单片机·测试工具
就是个名称2 小时前
echart绘制天顶图
linux·前端·javascript
Honeyeagle2 小时前
无线移动在线复合式多合一气体检测仪:工业安全监测的革新利器
运维·网络·安全
桌面运维家2 小时前
网络运维:防火墙异常流量监控与安全配置优化
运维·网络·安全
xiaoxiaoxiaolll3 小时前
Nature Communications |石墨烯“解锁”亚太赫兹通信:3Gbit/s高速传输背后的器件创新
网络·人工智能
x-cmd3 小时前
[260326] x-cmd v0.8.10:跨 Shell 统一配置命令短名;自动装好依赖运行 WhisperLiveKit 实时语音转写
linux·人工智能·ai·whisper·shortcut·x-cmd
F1FJJ3 小时前
Shield CLI 的 PostgreSQL 插件 v0.4.0 已发布:支持 ER 图设计表关系,还能多人协作
网络·网络协议·postgresql·数据分析·开源软件