pywifi的wifi密码破解器
2019-01-11 本文已影响32人
夕阳下的不回头
import time
import pywifi
from pywifi import const
wifi_ssid='你的wifi广播的名字'
pwd = '你的wifi密码'
def mySleep(x):
i=0
while i<x:
print(i)
i=i+1
time.sleep(1)
def scans_wifi_list(): # 扫描周围wifi列表
print("_ 开始扫描附近wifi...")
wifi = pywifi.PyWiFi()
iface=wifi.interfaces()[0]#选择第一个网卡
#iface.disconnect() #断开当前wifi
iface.scan()
time.sleep(10)
#在若干秒后获取扫描结果
scanres = iface.scan_results()
#统计附近被发现的热点数量
#print ("| %s | %s | %s | %s"%("WIFIID","SSID","BSSID","signal"))
# 实际数据
#print(show_scans_wifi_list(scanres))
print(scanres)
nums = len(scanres)
print("数量: %s"%(nums))
#前面不断开的话 这个地方出问题 我暂时不知道为毛
#测试网卡是否属于断开状态 这是例程说的 我很懵逼
#assert iface.status() in\
# [const.IFACE_DISCONNECTED, const.IFACE_INACTIVE]
for index,wifi_info in enumerate(scanres):
print(str(index+1)+"\t"+str(wifi_info.ssid)+"\t"+str(wifi_info.bssid)+"\t"+str(wifi_info.signal))
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 #密码
iface.remove_all_network_profiles() #删除所有的wifi文件
tmp_profile = iface.add_network_profile(profile)#设定新的链接文件
iface.connect(tmp_profile) #链接
mySleep(5)
iface.remove_all_network_profiles()
tmp_profile = iface.add_network_profile(profile)
iface.connect(tmp_profile)
mySleep(10)
if iface.status()== const.IFACE_CONNECTED:
print('ok')
else:
print('no please try again')
# print("%-*s| %s | %*s |%*s\n"%(20,index,wifi_info.ssid,wifi_info.bssid,,wifi_info.signal))
#self.wifi_tree.insert("",'end',values=(index + 1,wifi_info.ssid,wifi_info.bssid,wifi_info.signal))
#if iface in [const.IFACE_DISCONNECTED,
# const.IFACE_INACTIVE]:
# print('已连接')
#else:
# print('未连接')
print(chr(51))
pywifi.ifaces.status()
scans_wifi_list()