Dans cet article, nous allons explorer comment utiliser Python pour afficher les informations sur les cartes réseau présentes sur un ordinateur. Nous aborderons les étapes nécessaires à la collecte de ces informations et fournirons un exemple de code Python pour y parvenir.
💡 Les cartes réseau, souvent appelées adaptateurs réseau, sont des composants essentiels de tout ordinateur, leur permettant de se connecter à des réseaux locaux ou à Internet.
Pour commencer, assurez-vous d’avoir installé les bibliothèques Python nécessaires. Nous utiliserons principalement la bibliothèque netifaces
, qui fournit une interface simple pour obtenir des informations sur les interfaces réseau disponibles sur la machine.
pip install netifaces
Une fois que vous avez installé la bibliothèque netifaces
, vous pouvez commencer à collecter des informations sur les cartes réseau. Voici un exemple de code Python pour obtenir et afficher les cartes réseau disponibles sur un ordinateur :
import netifaces
def afficher_cartes_reseau():
interfaces = netifaces.interfaces()
if interfaces:
print("Cartes réseau disponibles :")
for interface in interfaces:
interface_info = netifaces.ifaddresses(interface)
if netifaces.AF_INET in interface_info:
ipv4_info = interface_info[netifaces.AF_INET][0]
print(f"Interface : {interface}")
print(f"Adresse IP : {ipv4_info['addr']}")
print(f"Masque de sous-réseau : {ipv4_info['netmask']}")
print(f"Adresse MAC : {interface_info[netifaces.AF_LINK][0]['addr']}")
print("--------------------")
else:
print("Aucune carte réseau n'a été trouvée.")
if __name__ == "__main__":
afficher_cartes_reseau()
Ce code utilise la fonction netifaces.interfaces()
pour obtenir une liste des noms d’interface réseau disponibles sur l’ordinateur. Ensuite, il parcourt chaque interface pour obtenir des informations telles que l’adresse IP, le masque de sous-réseau et l’adresse MAC à l’aide de la fonction netifaces.ifaddresses()
. Enfin, il affiche ces informations de manière structurée.
Vous pouvez exécuter le code Python ci-dessus dans votre environnement Python local pour afficher les cartes réseau sur votre propre ordinateur. Assurez-vous simplement d’avoir les autorisations nécessaires pour accéder à ces informations système.
Voici un exemple plus avancé qui utilise la bibliothèque psutil
en combinaison avec netifaces
pour afficher des informations détaillées sur les cartes réseau, y compris les statistiques de trafic réseau en temps réel :
import netifaces
import psutil
import time
def afficher_infos_reseau():
# Obtenir les statistiques réseau actuelles
stats_avant = psutil.net_io_counters(pernic=True)
# Afficher les cartes réseau disponibles avec leurs informations
interfaces = netifaces.interfaces()
if interfaces:
print("Cartes réseau disponibles :")
for interface in interfaces:
interface_info = netifaces.ifaddresses(interface)
if netifaces.AF_INET in interface_info:
ipv4_info = interface_info[netifaces.AF_INET][0]
print(f"Interface : {interface}")
print(f"Adresse IP : {ipv4_info['addr']}")
print(f"Masque de sous-réseau : {ipv4_info['netmask']}")
print(f"Adresse MAC : {interface_info[netifaces.AF_LINK][0]['addr']}")
# Obtenir les statistiques réseau pour cette interface
stats_interface = stats_avant.get(interface)
if stats_interface:
print("Statistiques de trafic réseau :")
print(f" Octets reçus : {stats_interface.bytes_recv} bytes")
print(f" Octets envoyés : {stats_interface.bytes_sent} bytes")
print("--------------------")
else:
print("Aucune carte réseau n'a été trouvée.")
# Rafraîchir les statistiques après quelques secondes
time.sleep(5)
stats_apres = psutil.net_io_counters(pernic=True)
# Afficher les variations dans les statistiques de trafic réseau
print("\nVariations dans les statistiques de trafic réseau :")
for interface, stats_avant in stats_avant.items():
stats_apres_interface = stats_apres.get(interface)
if stats_apres_interface:
print(f"Interface : {interface}")
print(f" Octets reçus : {stats_apres_interface.bytes_recv - stats_avant.bytes_recv} bytes")
print(f" Octets envoyés : {stats_apres_interface.bytes_sent - stats_avant.bytes_sent} bytes")
print("--------------------")
if __name__ == "__main__":
afficher_infos_reseau()
Dans cet exemple, nous avons ajouté l’utilisation de psutil
pour obtenir des statistiques de trafic réseau en temps réel. Nous affichons d’abord les informations de base sur les cartes réseau disponibles, puis nous attendons quelques secondes et affichons les variations dans les statistiques de trafic réseau pour chaque interface. Cette approche fournit une vue plus complète et dynamique des performances du réseau sur l’ordinateur. Assurez-vous d’installer la bibliothèque psutil
en utilisant pip install psutil
si vous ne l’avez pas déjà fait.
Un cas particulier intéressant pourrait être celui où vous avez besoin de vérifier si une interface réseau spécifique est active ou inactive sur un système. Voici un exemple de code Python qui utilise la bibliothèque netifaces
pour vérifier l’état d’une interface réseau donnée :
import netifaces
def verifier_etat_interface(interface_name):
interfaces = netifaces.interfaces()
if interface_name in interfaces:
interface_info = netifaces.ifaddresses(interface_name)
if netifaces.AF_INET in interface_info:
print(f"L'interface {interface_name} est active.")
else:
print(f"L'interface {interface_name} est inactive.")
else:
print(f"L'interface {interface_name} n'existe pas sur cet ordinateur.")
if __name__ == "__main__":
interface_a_verifier = "eth0" # Remplacez "eth0" par le nom de l'interface à vérifier
verifier_etat_interface(interface_a_verifier)
Dans cet exemple, la fonction verifier_etat_interface
prend le nom d’une interface réseau en entrée. Elle vérifie d’abord si cette interface existe sur l’ordinateur en recherchant son nom dans la liste des interfaces retournées par netifaces.interfaces()
. Ensuite, elle utilise netifaces.ifaddresses()
pour obtenir des informations sur cette interface. Si l’adresse IP de type AF_INET
est présente dans les informations, cela signifie que l’interface est active. Sinon, elle est considérée comme inactive.
Vous pouvez personnaliser cet exemple en remplaçant "eth0"
par le nom de l’interface que vous souhaitez vérifier. Cela peut être utile dans des scénarios où vous devez automatiser des actions en fonction de l’état d’une interface réseau spécifique sur un système.
Voici une série d’exercices conçus pour perfectionner vos compétences Excel. Les corrigés sont inclus pour…
Excel offre plusieurs méthodes pour calculer une moyenne tout en tenant compte des filtres ou…
Excel propose plusieurs fonctions pour insérer ou manipuler la date actuelle. Voici les principales méthodes…
Lorsque des nombres sont stockés sous forme de texte dans Excel, ils ne peuvent pas…
Extraire uniquement les chiffres d'une cellule contenant du texte et des nombres mélangés est une…
Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…
This website uses cookies.