python操做wifi

python鏈接wifi須要使用pywifi包,能夠用pip install pywifi安裝python

 

1.導入包app

import pywifi,time #保存包中寫義的常量
from pywifi import const 

 conbst  定義的常量:加密

# # Define interface status. # IFACE_DISCONNECTED = 0 # IFACE_SCANNING = 1 # IFACE_INACTIVE = 2 # IFACE_CONNECTING = 3 # IFACE_CONNECTED = 4 # # # Define auth algorithms. # AUTH_ALG_OPEN = 0 # AUTH_ALG_SHARED = 1 # # # Define auth key mgmt types. # AKM_TYPE_NONE = 0 # AKM_TYPE_WPA = 1 # AKM_TYPE_WPAPSK = 2 # AKM_TYPE_WPA2 = 3 # AKM_TYPE_WPA2PSK = 4 # AKM_TYPE_UNKNOWN = 5 # # # Define ciphers. # CIPHER_TYPE_NONE = 0 # CIPHER_TYPE_WEP = 1 # CIPHER_TYPE_TKIP = 2 # CIPHER_TYPE_CCMP = 3 # CIPHER_TYPE_UNKNOWN = 4 # # KEY_TYPE_NETWORKKEY = 0 # KEY_TYPE_PASSPHRASE = 1

 

 

def wifi_connect_status(): """ 判斷本機是否有無線網卡,以及鏈接狀態 :return: 已鏈接或存在無線網卡返回1,不然返回0 """
    #建立一個元線對象
    wifi = pywifi.PyWiFi() #取當前機器,第一個元線網卡
    iface = wifi.interfaces()[0] #有可能有多個無線網卡,因此要指定

    #判斷是否鏈接成功
    if iface.status() in [const.IFACE_CONNECTED,const.IFACE_INACTIVE]: print('wifi已鏈接') return 1
    else: print('wifi未鏈接') return 0

 

掃苗wifispa

def scan_wifi(): """ 掃苗附件wifi :return: 掃苗結果對象 """
    #掃苗附件wifi
    wifi = pywifi.PyWiFi() iface = wifi.interfaces()[0] iface.scan() #掃苗附件wifi
    time.sleep(1) basewifi = iface.scan_results() for i in basewifi: print('wifi掃苗結果:{}'.format(i.ssid)) # ssid 爲wifi名稱
        print('wifi設備MAC地址:{}'.format(i.bssid)) return basewifi

 

連接到指定wificode

def connect_wifi(): wifi = pywifi.PyWiFi()  # 建立一個wifi對象
    ifaces = wifi.interfaces()[0]  # 取第一個無限網卡
    print(ifaces.name())  # 輸出無線網卡名稱
    ifaces.disconnect()  # 斷開網卡鏈接
    time.sleep(3)  # 緩衝3秒
 profile = pywifi.Profile()  # 配置文件
    profile.ssid = "acewill"  # wifi名稱
    profile.auth = const.AUTH_ALG_OPEN  # 須要密碼
    profile.akm.append(const.AKM_TYPE_WPA2PSK)  # 加密類型
    profile.cipher = const.CIPHER_TYPE_CCMP  # 加密單元
    profile.key = '4000103000' #wifi密碼 ifaces.remove_all_network_profiles() # 刪除其餘配置文件
    tmp_profile = ifaces.add_network_profile(profile)  # 加載配置文件
 ifaces.connect(tmp_profile) # 鏈接
    time.sleep(10)  # 嘗試10秒可否成功鏈接
    isok = True if ifaces.status() == const.IFACE_CONNECTED: print("成功鏈接") else: print("失敗") #ifaces.disconnect() # 斷開鏈接
    time.sleep(1) return isok

 

以上是操做wifi經常使用的方法,  能夠本身擴展.好比弱口令破解.  能夠下載個6000經常使用wifi弱口令. orm

思想簡單,挨個試鏈接,狀態const.IFACE_CONNECTED 即密碼正確. 對象

相關文章
相關標籤/搜索