Python

Code python pour Afficher les cartes réseau sur un ordinateur

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.

Bibliothèques Python nécessaires


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
Obtenir les informations sur les cartes réseau


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.

Exemple d’utilisation


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.

Vérification de l’état d’une interface réseau avec Python

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.

Autres articles

Maîtriser l'utilisation de la méthode join en...
La méthode join en Python est un outil puissant pour...
Read more
Comment Gérer Efficacement le Budget Mariage avec...
Télécharger un modèle Excel automatisé de budget mariage automatisé avec...
Read more
Manipulation des Tableaux en Python avec Numpy
Numpy est une bibliothèque puissante et efficace pour la manipulation...
Read more
AZ

Recent Posts

Série d’exercices corrigés – Excel Perfectionnement

Voici une série d’exercices conçus pour perfectionner vos compétences Excel. Les corrigés sont inclus pour…

5 heures ago

Guide : Calculer une moyenne avec un filtre dans Excel

Excel offre plusieurs méthodes pour calculer une moyenne tout en tenant compte des filtres ou…

5 heures ago

Utiliser les fonctions pour afficher la date actuelle dans Excel

Excel propose plusieurs fonctions pour insérer ou manipuler la date actuelle. Voici les principales méthodes…

6 heures ago

Comment convertir des textes en chiffres dans Excel

Lorsque des nombres sont stockés sous forme de texte dans Excel, ils ne peuvent pas…

6 heures ago

Comment extraire les chiffres d’une cellule dans Excel

Extraire uniquement les chiffres d'une cellule contenant du texte et des nombres mélangés est une…

7 heures ago

Comment supprimer plusieurs caractères spécifiques dans Excel

Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…

7 heures ago

This website uses cookies.