Python: obtener todos los dispositivos Wifi que el sistema ha conectado

En este artículo veremos cómo podemos todas esas redes wifi en las que el sistema está conectado alguna vez. Wi-Fi es una tecnología de red inalámbrica que permite que dispositivos tales como computadoras (portátiles y de escritorio), dispositivos móviles (teléfonos inteligentes y dispositivos portátiles) y otros equipos (impresoras y cámaras de video) interactúen con Internet.
Para ello utilizaremos el módulo de subprocesos. El módulo de subproceso presente en Python (tanto 2.x como 3.x) se usa para ejecutar nuevas aplicaciones o programas a través del código de Python mediante la creación de nuevos procesos. También ayuda a obtener las tuberías de entrada/salida/error, así como los códigos de salida de varios comandos.
Para obtener la información sobre los dispositivos wifi a los que está conectado el sistema, usaremos el comando que se indica a continuación 
 

subprocess.check_output(['netsh', 'wlan', 'show', 'profiles'])

Este comando devolverá los metadatos en formato de bytes para obtener los nombres de la red que tenemos que decodificar y filtrar para obtener el resultado deseado.
A continuación se muestra la implementación. 
 

Python3

# importing subprocess
import subprocess
 
# getting meta data of the wifi network
meta_data = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles'])
 
# decoding meta data from byte to string
data = meta_data.decode('utf-8', errors ="backslashreplace")
 
# splitting data by line by line
# string to list
data = data.split('\n')
 
# creating a list of wifi names
names = []
 
# traverse the list
for i in data:
     
    # find "All User Profile" in each item
    # as this item will have the wifi name
    if "All User Profile" in i :
         
        # if found split the item
        # in order to get only the name
        i = i.split(":")
         
        # item at index 1 will be the wifi name
        i = i[1]
         
        # formatting the name
        # first and last chracter is use less
        i = i[1:-1]
         
        # appending the wifi name in the list
        names.append(i)
 
# printing the wifi names
print("All wifi that system has connected to are ")
print("-----------------------------------------")
for name in names:
    print(name)

Producción : 
 

All wifi that system has connected to are 
-----------------------------------------
Engineer_5GHz
Engineer
honor
Redmi
Ayush
BiGX-cmtqaGFtYjc
UERJTTBV8e0GUmVkbWkg 2
DESKTOP-F32H70N 5009
UERJTTBV8e0GUmVkbWkg
Bunns
Hogwarts
Cgc wireless
Moto G (5) Plus 8691
AndroidAP
AndroidAPab7e
roshan
Svj?
Hey
AndroidAP202
JARVIS
B6NO-wq5hamF0IGt1bWHCrg
CDAC

Publicación traducida automáticamente

Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *