Noms des interfaces reseau auquels je suis connectés

Fermé
Besoin d'aide Urgent - Modifié par Besoin d'aide Urgent le 6/03/2015 à 21:41
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 7 mars 2015 à 15:31
Bonjour,
mon question c'est il y'a t il une méthode en python qui me permet de récuéprer le nom de l'interface réseau locale au quel je suis connecté sinon quel est le path de fichier sous linux qui contient les noms de l'interfaces et la commande linux pour les affichés.

merci.

1 réponse

mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
7 mars 2015 à 15:31
Merci de soigner l'orthographe et la ponctuation.

La commande sous linux pour afficher les interfaces réseaux est la commande :

/sbin/ifconfig -a


... mais a priori c'est plutôt la commande :

/sbin/route -n


... qui te permettra de déterminer le nom de l'interface à laquelle est associée la route par défaut.

Exemple :

(mando@velvet) (~) $ /sbin/route -n
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 1024 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0


Dans cet exemple la route par défaut (destination 0.0.0.0 / genmask 0.0.0.0) est associée à l'interface eth0.

Ensuite en python tout dépend ce que tu veux faire. Tu peux envelopper l'appel système à
route -n
dans un
Popen
ou de regarder le contenu de
/proc/net/route
(mais ton code ne marchera alors que sous linux).
https://stackoverflow.com/questions/20908287/is-there-a-method-to-get-default-network-interface-on-local-using-python3

L'idéal serait de chercher avec google un package python qui répond à ta question et qui permettrait de s'abstraire du système d'exploitation comme pyroute2 :
https://stackoverflow.com/questions/4954738/python-linux-route-table-lookup

Bonne chance
0