Ver una computadora sin una conexión activa a Internet hoy en día es casi imposible. Internet ha sido de suma importancia en el siglo XXI. Hay varias formas en que uno puede conectar su máquina a Internet. El primero, los cables tradicionales, es decir, el Ethernet, y el otro, los modernos Wireless Fidelity Systems o Wi-Fi como todos lo conocemos. Wi-Fi ha hecho la vida más fácil y rápida para todos nosotros. Con un toque del pulgar o un clic del mouse, nos conectamos a un océano ilimitado de información y recursos casi instantáneamente. En este artículo, realizaremos la misma tarea con un lenguaje de programación moderno de alto nivel, como Python.
Conexión a una red WiFi conocida
Aquí nos vamos a conectar a una red WiFi previamente conectada.
Acercarse:
El planteamiento del programa será sencillo:
- Importe las bibliotecas necesarias .
- Mostrar todos los SSID disponibles con la ayuda de los comandos cmd y una biblioteca de python llamada os .
- Seleccionando el Wi-Fi conocido al que te quieres conectar.
- Espere a que se conecte correctamente .
Ahora, comencemos con la codificación. Haremos uso de un par de comandos del símbolo del sistema de Windows para acceder a la lista de redes Wi-Fi disponibles y para conectarnos a una red conectada previamente . Pero, ¿cómo escribimos y ejecutamos los comandos del símbolo del sistema de Windows en un script de Python? Umm…
La biblioteca os nos ayuda a comunicarnos con el sistema operativo directamente a través de python con varios métodos como path(), getcwd(), system(), etc. Incluso podemos ejecutar comandos CMD usando funciones os.
Implementación:
Python3
# import module import os # scan available Wifi networks os.system('cmd /c "netsh wlan show networks"') # input Wifi name name_of_router = input('Enter Name/SSID of the Wifi Network you wish to connect to: ') # connect to the given wifi network os.system(f'''cmd /c "netsh wlan connect name={name_of_router}"''') print("If you're not yet connected, try connecting to a previously connected SSID again!")
Producción:
Explicación:
Aquí, primero, buscamos la biblioteca os usando la palabra clave de importación . Luego, usamos el método system() de la biblioteca os que nos ayuda a ejecutar el comando cmd
'cmd /c "netsh wlan show networks"'
El comando anterior escanea todos los SSID disponibles y los muestra como salida junto con su tipo de Infraestructura, Autenticación y Cifrado. Procedemos tomando una string de entrada del SSID, el usuario desea conectarse y guardarlos en la variable denominada, name_of_router .
Esta variable de string luego se sustituye en lugar de otro comando cmd donde se supone que debemos ingresar el nombre del SSID.
f'''cmd /c "netsh wlan connect name={name_of_router}"'''
Ahora estaremos conectados con éxito al SSID en particular.
Conexión a una nueva red Wi-Fi
Ahora, conectarse a un nuevo Wi-Fi implica un par de pasos más. Para conectarnos a una nueva red, primero debemos agregar este nuevo perfil de red Wi-Fi a nuestro sistema usando un archivo .XML. Esto hace que esa red Wi-Fi sea un SSID conocido, y ahora podemos conectarnos con éxito siguiendo los pasos anteriores.
Acercarse:
- Paso 1: importa la biblioteca os
- Paso 2: configure la configuración XML de la nueva red Wi-Fi
- Paso 3: seleccione la red Wi-Fi
- Paso 4: agregue este perfil a su sistema
- Paso 5: Conéctese a la red Wi-Fi
Implementación:
Python3
# import module import os # function to establish a new connection def createNewConnection(name, SSID, password): config = """<?xml version=\"1.0\"?> <WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1"> <name>"""+name+"""</name> <SSIDConfig> <SSID> <name>"""+SSID+"""</name> </SSID> </SSIDConfig> <connectionType>ESS</connectionType> <connectionMode>auto</connectionMode> <MSM> <security> <authEncryption> <authentication>WPA2PSK</authentication> <encryption>AES</encryption> <useOneX>false</useOneX> </authEncryption> <sharedKey> <keyType>passPhrase</keyType> <protected>false</protected> <keyMaterial>"""+password+"""</keyMaterial> </sharedKey> </security> </MSM> </WLANProfile>""" command = "netsh wlan add profile filename=\""+name+".xml\""+" interface=Wi-Fi" with open(name+".xml", 'w') as file: file.write(config) os.system(command) # function to connect to a network def connect(name, SSID): command = "netsh wlan connect name=\""+name+"\" ssid=\""+SSID+"\" interface=Wi-Fi" os.system(command) # function to display avavilabe Wifi networks def displayAvailableNetworks(): command = "netsh wlan show networks interface=Wi-Fi" os.system(command) # display available netwroks displayAvailableNetworks() # input wifi name and password name = input("Name of Wi-Fi: ") password = input("Password: ") # establish new connection createNewConnection(name, name, password) # connect to the wifi network connect(name, name) print("If you aren't connected to this network, try connecting with the correct password!")
Producción:
Explicación:
Primero, definimos la función createNewConnection que toma los parámetros nombre, SSID y contraseña, que son strings que usamos para completar la variable de configuración. La variable config es una string que nos ayuda a definir la configuración XML para una nueva red Wi-Fi.
Luego, tomamos la entrada del usuario para el nombre SSID y la contraseña . Luego se introducen en el código XML que luego se agrega como un perfil usando las siguientes líneas de código:
command = "netsh wlan add profile filename=\""+name+".xml\""+" interface=Wi-Fi" with open(name+".xml", 'w') as file: file.write(config) os.system(command)
Ahora podemos conectarnos al Wi-Fi usando los mismos comandos que usamos anteriormente en este artículo y conectarnos a la red como si fuera una conocida.
Publicación traducida automáticamente
Artículo escrito por jaygala260 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA