脚本运行效果:
UI升级版以上图形界面未允许选择密码字典 , 下面进行优化升级:
from tkinter import *from tkinter import ttkimport pywififrom pywifi import constimport timeimport tkinter.filedialog# 在Gui中打开文件浏览import tkinter.messagebox# 打开tkiner的消息提醒框class MY_GUI():def __init__(self, init_window_name):self.init_window_name = init_window_name# 密码文件路径self.get_value = https://www.shwenmu.com/wenda/StringVar()# 设置可变内容# 获取破解wifi账号self.get_wifi_value = StringVar()# 获取wifi密码self.get_wifimm_value = StringVar()# 抓取网卡接口self.wifi = pywifi.PyWiFi()# 抓取第一个无线网卡self.iface = self.wifi.interfaces()[0]# 测试链接断开所有链接self.iface.disconnect()time.sleep(1)# 休眠1秒# 测试网卡是否属于断开状态assert self.iface.status() in /[const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]def __str__(self):# 自动会调用的函数 , 返回自身的网卡return'(WIFI:%s,%s)' % (self.wifi, self.iface.name())# 设置窗口def set_init_window(self):self.init_window_name.title("WIFI破解工具")self.init_window_name.geometry(' 500 200')labelframe = LabelFrame(width=400, height=200, text="配置")# 框架 , 以下对象都是对于labelframe中添加的labelframe.grid(column=0, row=0, padx=10, pady=10)self.search = Button(labelframe, text="搜索附近WiFi", command=self.scans_wifi_list).grid(column=0, row=0)self.pojie = Button(labelframe, text="开始破解", command=self.readPassWord).grid(column=1, row=0)self.label = Label(labelframe, text="目录路径:").grid(column=0, row=1)self.path = Entry(labelframe, width=12, textvariable=self.get_value).grid(column=1, row=1)self.file = Button(labelframe, text="添加密码文件目录", command=self.add_mm_file).grid(column=2, row=1)self.wifi_text = Label(labelframe, text="WiFi账号:").grid(column=0, row=2)self.wifi_input = Entry(labelframe, width=12, textvariable=self.get_wifi_value).grid(column=1, row=2)self.wifi_mm_text = Label(labelframe, text="WiFi密码:").grid(column=2, row=2)self.wifi_mm_input = Entry(labelframe, width=10, textvariable=self.get_wifimm_value).grid(column=3, row=2,sticky=W)self.wifi_labelframe = LabelFrame(text="wifi列表")self.wifi_labelframe.grid(column=0, row=3, columnspan=4, sticky=NSEW)# 定义树形结构与滚动条self.wifi_tree = ttk.Treeview(self.wifi_labelframe, show="headings", columns=("a", "b", "c", "d"))self.vbar = ttk.Scrollbar(self.wifi_labelframe, orient=VERTICAL, command=self.wifi_tree.yview)self.wifi_tree.configure(yscrollcommand=self.vbar.set)# 表格的标题self.wifi_tree.column("a", width=50, anchor="center")self.wifi_tree.column("b", width=100, anchor="center")self.wifi_tree.column("c", width=100, anchor="center")self.wifi_tree.column("d", width=100, anchor="center")self.wifi_tree.heading("a", text="WiFiID")self.wifi_tree.heading("b", text="SSID")self.wifi_tree.heading("c", text="BSSID")self.wifi_tree.heading("d", text="signal")self.wifi_tree.grid(row=4, column=0, sticky=NSEW)self.wifi_tree.bind("
推荐阅读
- 面向对象 python python面向对象编程思维
- python贪吃蛇游戏代码 Python实现自动玩贪吃蛇
- 小米电视怎么连接wifi 小米电视如何连接wifi
- 小编分享通过腾讯WiFi管家检测附近风险WiFi的操作过程。
- python多图合并成一张图 Python实现多张图片合成一张马赛克图片
- 怎么从b站上下载视频 python爬b站视频
- 软件加密方法 python编写加密程序
- WIFI网络已连接 为什么wifi连接上却不能上网
- wifi密码怎么改 wifi怎么改密码
- 007灭神辅助怎么设置,三国群英传8破解版免steam版下载