Volver a la página principal
domingo 23 febrero 2025
9

Cómo obtener información de las interfaces de red en Python con netifaces

El módulo netifaces en Python permite acceder a información sobre las interfaces de red del sistema, como direcciones IP, MAC y máscaras de subred. Es útil para obtener detalles de la configuración de red de un equipo de forma programática.

Instalación de netifaces

Para utilizar netifaces, primero debes instalarlo con:

pip install netifaces

Obtener interfaces de red disponibles

Para listar todas las interfaces de red del sistema, usa:

import netifaces

interfaces = netifaces.interfaces()
print(interfaces)

Obtener información de una interfaz específica

Puedes obtener detalles de una interfaz en particular con:

import netifaces

interfaz = "eth0"  # Cambia según tu sistema
detalles = netifaces.ifaddresses(interfaz)

print(detalles)

Tipos de direcciones disponibles

El diccionario devuelto por ifaddresses() puede contener las siguientes claves:

Clave Descripción
netifaces.AF_INET Dirección IPv4 y máscara
netifaces.AF_INET6 Dirección IPv6 y prefijo
netifaces.AF_LINK Dirección MAC

Obtener la dirección IP de una interfaz

Para extraer solo la dirección IPv4:

import netifaces

interfaz = "eth0"  # Ajusta según tu sistema
info = netifaces.ifaddresses(interfaz).get(netifaces.AF_INET)

if info:
    ip = info[0]['addr']
    print(f"Dirección IP: {ip}")

Ejemplo: Obtener la puerta de enlace predeterminada

Puedes obtener la puerta de enlace del sistema con:

import netifaces

gateways = netifaces.gateways()
print(gateways)

Referencias

Etiquetas:
python
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer