Python - Interface réseau

Lorsque nous avons plusieurs interfaces dans une machine, nous devons garder une trace de leurs noms, statuts, etc. En Python, nous pouvons lister les interfaces et leur statut.

Exemple

Dans l'exemple ci-dessous, nous utilisons le module python netifacesqui donne les détails des interfaces et leur état. Les méthodes utilisées sont très simples et directes.

import netifaces
print (netifaces.interfaces())
print (netifaces.ifaddresses('lo'))
print (netifaces.AF_LINK)
addrs = netifaces.ifaddresses('ens33')
print(addrs[netifaces.AF_INET])
print(addrs[netifaces.AF_LINK])

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

# Result
['lo', 'ens33']
{17: [{'peer': '00:00:00:00:00:00', 'addr': '00:00:00:00:00:00'}], 2: [{'peer': '127.0.0.1', 'addr': '127.0.0.1', 'netmask': '255.0.0.0'}], 10: [{'addr': '::1', 'netmask': 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128'}]}
17
[{'netmask': '255.255.255.0', 'addr': '192.168.232.128', 'broadcast': '192.168.232.255'}]
[{'addr': '00:0c:29:ea:13:0a', 'broadcast': 'ff:ff:ff:ff:ff:ff'}]