(win32) connexions réseaux - obtenir les infos des interfaces réseaux

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 484 fois - Téléchargée 20 fois

Contenu du snippet

Depuis peu je me suis interessé à ce langage et je dois dire depuis que j'ai mis le pied dedans impossible d'en sortir.

Donc pour ma première, voici quelques lignes affichant les informations des interfaces réseaux que l'on retrouve dans les Connexions réseaux de Windows.
J'ai utilisé l'extension PyWin 2.5 (Python for Windows) afin d'utiliser WMI pour interroger ses classes Win32_NetworkAdapter et Win32_NetworkAdapterConfiguration contenant les informations nécessaires.

Source / Exemple :


import win32com.client

objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(".","root\cimv2")

colItems = objSWbemServices.ExecQuery("Select * from Win32_NetworkAdapter")

for obj in colItems:

    if(obj.NetConnectionID!=None):
        
        print "Nom:",obj.Description
        print "Nom ID d'interface:",obj.NetConnectionID
        print "DeviceID",obj.DeviceID
        print "Adresse MAC:",obj.MACAddress
        print "Constructeur:", obj.Manufacturer
        print "Type:",obj.AdapterType
        
        
        colInfos = objSWbemServices.ExecQuery("Select * from Win32_NetworkAdapterConfiguration")

        for objI in colInfos:

            if(objI.Index==obj.Index):
                
                print "Nom d'hote",objI.DNSHostName
                
                if(objI.DHCPEnabled):
                    print "Adresse serveur DHCP:",objI.DHCPServer

                addr=objI.IPAddress
                if(addr!=None):
                    for n in addr:
                        print "Adresse IP",n
                        
                addr=objI.IPSubnet
                if(addr!=None):
                    for n in addr:
                        print "Masque sous-reseau",n
                        
                addr=objI.DNSServerSearchOrder
                if(addr!=None):
                    for n in addr:
                        print "Serveur DNS:",n
                        
                addr=objI.DefaultIPGateway
                if(addr!=None):
                    for n in addr:
                        print "Passerelle par defaut",n
        
        print "-----------------------------------------"

Conclusion :


soyez pas trop méchant :)
Bon dév.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.