WiFi密码字典破解指南:用Wifi-Brute如何找回遗忘的热点密码
【免费下载链接】Wifi-BruteA tool to crack a wifi password with a help of wordlist. This may take long to crack a wifi depending upon number of passwords your wordlist contains. Also it is slower as compared to social media accounts cracking. I've made enough efforts to make it as fast as possible项目地址: https://gitcode.com/gh_mirrors/wi/Wifi-Brute
路由器重启后,手机里那个连了好几年的WiFi突然变成了"未保存",而密码早就没人记得了;或者你想验证自己热点设的密码够不够"抗字典"。这两种场景都指向同一个动作:拿一份密码字典,逐条向目标网络发起连接尝试。Wifi-Brute就是干这件事的——它基于 Python 编写,读取本地密码字典文件,对扫描到的 WiFi 依次尝试每个候选密码,直到某一条成功握手为止。
原理速览:字典攻击是怎么"试"出密码的
整个机制可以压缩成三句话:
- 工具调用无线网卡先扫描周围信号,拿到所有可见网络列表;
- 对每个网络,把字典里的密码逐条写入 WPA2-PSK 连接配置并发起连接,单次尝试最多等 15 秒,超时即判定失败、换下一条;
- 只要握手被接受,立刻返回该密码并中断当前网络。
所以它的耗时和字典规模、信号质量直接相关:字典越大、失败等待越长,总时间越久。这一点和"瞬间爆破"式工具不同,速度上偏慢,但在同类字典尝试工具里已经做了逐条超时控制等优化,属于"慢但稳"的类型。
准备与部署:环境、代码、依赖一次配齐
先确认三件事:机器上有 Python 3.x(Linux / Windows / macOS 均可)、有一块可用的无线网卡、Linux 下建议以 root 运行(非 root 时程序会引导你sudo su,Termux 的 aarch64 环境则必须 root)。
获取代码:
git clone https://gitcode.com/gh_mirrors/wi/Wifi-Brute cd Wifi-Brute依赖不需要手动装,程序首次运行会自动处理:
pywifi:负责扫描、建立连接配置、判断连接状态,在主程序 wifi-brute.py 中自动安装;colorama:负责终端彩色输出,在 scripts/colors.py 与 scripts/banner.py 中自动安装。
装完依赖后,用python3 wifi-brute.py --help可以打印用法提示,确认环境正常。
上手实操:从扫描到出密码的完整流程
第一步,先跑一次默认配置,认识现场。
python3 wifi-brute.py不带参数时,程序固定使用内置字典 passwords.txt。启动后它会先打印扫到的 WiFi 数量,等你按回车才开始逐网尝试。留意屏幕上的三处信息:当前正在尝试的网络名、当前密码在字典中的位置(第 n 条 / 共多少条)、以及最终是否出现Password found横幅。
第二步,锁定目标再跑自定义字典。
如果你已经知道要测试哪个 SSID,可以先把附近列表过一遍:扫到的网络和已确认的密码都会落在 avail_nearby_wifis.txt 里,打开它确认目标名称。随后指定自己的字典文件运行:
python3 wifi-brute.py tryMore.txt路径换成你的任意字典文件即可。tryMore.txt 是仓库自带的一份小型扩展示例(仅 4 条),适合先拿它跑通流程,确认链路没问题后再上大型字典。
第三步,看懂结果与断点记录。
- 命中:屏幕打出
Password found : xxx,并把结果追加写入 avail_nearby_wifis.txt; - 断点:每条"网络名--密码"的尝试记录会写进 already_tried_passwords.txt,下次再跑时会自动跳过已试过的组合,不会重复消耗时间;
- 循环:一轮结束后程序询问是否继续(y/n),输入 n 结束,输入 y 再跑一轮。
效率与避坑:问题 → 做法
跑得慢、跑不完?瓶颈在字典规模和单条 15 秒超时。做法是先用小字典(几十到几千条)缩小范围,命中区域确认后再用大字典扫尾;不要一上来就拿数万条的字典对弱信号网络硬跑。
字典命中率低?把"目标画像"混进字典:本地习惯(城市/地区词 + 年份)、品牌路由器默认类口令、用户姓名拼音加数字等。多个字典可以合并后用一条命令破解:
cat passwords.txt tryMore.txt > combined_dict.txt python3 wifi-brute.py combined_dict.txt提示要 root 或性能不佳?Linux 下直接用 root 终端启动;Termux 用户先切换到 root 身份再运行,否则程序会直接退出。
一直超时、连不上?依次排查三点:目标信号是否偏弱(换近一点的位置);网卡是否只支持 2.4GHz(部分网卡看不到 5GHz 网络,这属于硬件限制);字典里是否根本没有该密码(这种情况再跑多久都不会命中,回到字典优化)。
想挑个好时机?选目标信号强且稳定的时段动手,避开网络拥塞、漫游频繁的环境,能减少误超时。
安全与合规:先划清使用边界
把边界说清楚,剩下的才是技术问题:
- 只对你拥有、或明确获得书面授权的网络做测试。未授权破解他人 WiFi 在多数司法辖区属于违法行为;
- 本工具的合理定位是教育与技术验证——验证自己热点的口令强度、学习字典攻击的工作方式;
- 获取到的密码仅用于授权范围内的用途,不记录、不传播、不转售。
速查索引:关键文件一览表
| 文件 | 作用 |
|---|---|
| wifi-brute.py | 主程序:扫描、逐条尝试、结果输出,入口文件 |
| passwords.txt | 默认密码字典(约 7.2 万条),不带参数运行时使用 |
| tryMore.txt | 自带的小型扩展字典示例,适合跑通流程 |
| already_tried_passwords.txt | 已尝试"网络--密码"记录,用于跨次运行去重 |
| avail_nearby_wifis.txt | 附近 WiFi 与已破解结果记录 |
| scripts/banner.py | 启动横幅与清屏逻辑(自动安装 colorama) |
| scripts/colors.py | 终端颜色定义(自动安装 colorama) |
| scripts/sprint.py | 逐字打印,实现滚动式输出效果 |
| Version.dat | 版本号(v 4.4) |
记住一件事:字典再大,也只应指向你有权测试的网络——工具的价值,取决于你使用它的边界是否干净。
【免费下载链接】Wifi-BruteA tool to crack a wifi password with a help of wordlist. This may take long to crack a wifi depending upon number of passwords your wordlist contains. Also it is slower as compared to social media accounts cracking. I've made enough efforts to make it as fast as possible项目地址: https://gitcode.com/gh_mirrors/wi/Wifi-Brute
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考