IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

(débutant vb.net) Récupérer l'adresse MAC d'un appareil d'après son adresse IP


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Par défaut (débutant vb.net) Récupérer l'adresse MAC d'un appareil d'après son adresse IP
    Bonjour,
    je suis à la recherche d'une fonction qui me permettrait de récupérer l'adresse Mac d'un appareil pour lequel j'ai l'adresse IP.
    Actuellement, mon programme fait des ping avec des adresses ip, j'aimerai juste récupérer les adresses MAC correspondantes pour pouvoir identifier tous les appareil branchés (savoir quel appareil a quelle adresse IP)

    Merci d'avance,
    Clément

  2. #2
    Membre éclairé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Par défaut
    Salut,

    Tu peux regarder du côté de WMI
    http://www.thescarms.com/dotNet/wmi.aspx

    un autre exemple

    @+

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Par défaut
    merci pour les liens, je pense que c'est une bonne piste, mais je n'ai pas réussi à exploiter correctement

    je pensais qu'en utilisant IPAddress au lieu de IPEnabled (voir code ci dessous) j'arriverai à retrouver l'adresse mac correspondante, mais visiblement ça ne fonctionne pas car IPAddress est un Array...
    Il va me falloir trouver une autre solution donc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Imports System.Management 
    
        Try
            Dim strMACAddress as string = ""
            '
            ' Create the query, in SQL syntax, to retrieve the properties from
            ' the active Network Adapter.
            '
            ' A l'origine, la ligne suivante est ainsi :
            ' Dim strQuery As String = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"
            Dim strQuery As String = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPAddress =" & MonadresseIP
    
            '
            ' Create a ManagementObjectSearcher object passing in the query to run.
            '
            Dim query As ManagementObjectSearcher = New ManagementObjectSearcher(strQuery)
    
            '
            ' Create a ManagementObjectCollection assigning it the results of the query.
            '
            Dim queryCollection As ManagementObjectCollection = query.Get()
    
            '
            ' Loop through the results extracting the MAC Address.
            '
            Dim mo As ManagementObject
    
            For Each mo In queryCollection
                strMACAddress = mo("MacAddress").ToString().Replace(":", "")
                Exit For
            Next
    
            Return strMACAddress 
    
        Catch ex As Exception
            Return ""
        End Try
    Merci pour votre aide
    Clément

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Citation Envoyé par clem67 Voir le message
    merci pour les liens, je pense que c'est une bonne piste, mais je n'ai pas réussi à exploiter correctement

    je pensais qu'en utilisant IPAddress au lieu de IPEnabled (voir code ci dessous) j'arriverai à retrouver l'adresse mac correspondante, mais visiblement ça ne fonctionne pas car IPAddress est un Array...
    Il va me falloir trouver une autre solution donc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Imports System.Management 
    
        Try
            Dim strMACAddress as string = ""
            '
            ' Create the query, in SQL syntax, to retrieve the properties from
            ' the active Network Adapter.
            '
            ' A l'origine, la ligne suivante est ainsi :
            ' Dim strQuery As String = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"
            Dim strQuery As String = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPAddress =" & MonadresseIP
    
            '
            ' Create a ManagementObjectSearcher object passing in the query to run.
            '
            Dim query As ManagementObjectSearcher = New ManagementObjectSearcher(strQuery)
    
            '
            ' Create a ManagementObjectCollection assigning it the results of the query.
            '
            Dim queryCollection As ManagementObjectCollection = query.Get()
    
            '
            ' Loop through the results extracting the MAC Address.
            '
            Dim mo As ManagementObject
    
            For Each mo In queryCollection
                strMACAddress = mo("MacAddress").ToString().Replace(":", "")
                Exit For
            Next
    
            Return strMACAddress 
    
        Catch ex As Exception
            Return ""
        End Try
    Merci pour votre aide
    Clément
    Si t'itères sur les éléments de l'array tu dois pouvoir trouver l'ip non?
    (A moins que l'array SOIT l'ip (car une ipv4 est un array de 4 octets))

  5. #5
    Membre très actif
    Avatar de alex61
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2010
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 378
    Par défaut
    je l'ai jamais utiliser en VB
    mais il y le protocole ARP qui fait ca il me semble

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Par défaut
    Citation Envoyé par alex61 Voir le message
    je l'ai jamais utiliser en VB
    mais il y le protocole ARP qui fait ca il me semble
    à ma connaissance, j'ai toujours utilisé le protocole ART avec l'invité de commande, mais pour mon cas, je souhaiterai faire en quelque sorte la même chose, mais pas dans l'invité de commande.
    En fait, j'essaie de faire un programme faisant un ping pour une plage d'adresses IP, et pour chaque adresse IP qui répond, récupérer l'adresse MAC correspondante.
    C'est en fait pour pouvoir identifier les appareil qui sont dans mon réseau local, l'IP n'étant pas fixe pour chacun d'eux.

    Si vous avez de bons tuyaux... je suis évidemment preneur

    Merci
    Clément

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/05/2011, 11h26
  2. Réponses: 2
    Dernier message: 10/04/2006, 13h08
  3. obtenir son adresse mac
    Par MonsieurAk dans le forum Windows
    Réponses: 6
    Dernier message: 24/08/2005, 11h01
  4. Réponses: 10
    Dernier message: 26/07/2005, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo