Requisito previo: Obtener contraseñas Wifi guardadas usando Python
Sabemos que la red inalámbrica es el adaptador de red más común en la actualidad, debido a que admite portabilidad y es fácil de usar. En este artículo, veremos cómo podemos obtener el nombre y las contraseñas de Wi-Fi guardados actualmente y generar un código QR para conectar otros dispositivos usando Python.
Antes de comenzar, debemos instalar el módulo wifi-qrcode-generator para generar un código QR para su Wi-Fi y permitir que otros se conecten rápidamente a su Wi-Fi:
Instalación:
Este módulo no viene integrado con Python. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install wifi-qrcode-generator
Uso:
Python3
# Import module import wifi_qrcode_generator as qr # Use wifi_qrcode() to create a QR image qr.wifi_qrcode('wifi name ', False, 'WPA', 'password')
Producción:
Ahora vamos a obtener el nombre de Wi-Fi y las contraseñas actuales en cmd:
Si escribe este código de interfaz netsh wlan show en el terminal cmd, obtendrá varios detalles:
Si escribe este netsh wlan show profile {Nombre del perfil} key=clear code en su terminal, obtendrá la clave de red.
Acercarse:
- Importe el subproceso del módulo y el módulo wifi-qrcode-generator .
- Obtenga el resultado del comando netsh wlan show interface usando subprocess.check_output() .
- Decodifique la salida con utf-8, divida los metadatos según la línea.
- Ahora obtenga la string dividida para encontrar su nombre de Wi-Fi actual (nombre SSID ).
- Ahora haga lo mismo para la contraseña y encuentre la contraseña de Wi-Fi ( Contenido clave ).
- Ahora Genere su código QR Wi-Fi.
A continuación se muestra la implementación.
Python3
# import modules import subprocess import wifi_qrcode_generator # try catch block begins # try block try: # traverse the profile Id = subprocess.check_output( ['netsh', 'wlan', 'show', 'interfaces']).decode('utf-8').split('\n') id_results = str([b.split(":")[1][1:-1] for b in Id if "Profile" in b])[2:-3] # traverse the password password = subprocess.check_output( ['netsh', 'wlan', 'show', 'profiles', id_results, 'key=clear']).decode('utf-8').split('\n') pass_results = str([b.split(":")[1][1:-1] for b in password if "Key Content" in b])[2:-2] print("User name :", id_results) print("Password :", pass_results) except: print("something wrong") # generate Qr code wifi_qrcode_generator.wifi_qrcode(id_results, False, 'WPA', pass_results)
Producción:
Publicación traducida automáticamente
Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA