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

C++ Discussion :

adresse MAC


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 18
    Par défaut adresse MAC
    Salut

    je voudrai savoir comment on peut récuper l'adresse mac d'un poste sur linux ????
    Merci d'avance

  2. #2
    Fry
    Fry est déconnecté
    Membre confirmé Avatar de Fry
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 150
    Par défaut
    si tu utilise la lib PCAP tu peux utiliser les oid request:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    PACKET_OID_DATA *poidd;
    char buf[16];
    poidd=(PACKET_OID_DATA *)buf;
    poidd->Oid=OID_802_3_PERMANENT_ADDRESS;
    poidd->Length=6;
    PacketRequest(adapter, false, (PACKET_OID_DATA *)poidd);
     
    cout << "|Adresse MAC:\t| ";
    for(int i=0;i<6;i++){cout << setbase(16) << setfill('0') << setw(2) << static_cast<int>(poidd->Data[i]);if (i!=5)cout << ":";}

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 394
    Par défaut
    Pour Linux spécifiquement

    http://www.linuxquestions.org/questi...003/03/3/38217
    Google is your friend...

    A déplacer dans le forum Linux

  4. #4
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 18
    Par défaut
    je viens d'installer la librairie PCAP et inclu pcap.h mais lors de la compilation j'ai les message suivants :
    test.cpp:8: error: `PACKET_OID_DATA' undeclared (first use this function)
    test.cpp:8: error: (Each undeclared identifier is reported only once for each
    function it appears in.)
    test.cpp:8: error: `poidd' undeclared (first use this function)
    test.cpp:10: error: parse error before `)' token
    test.cpp:11: error: `OID_802_3_PERMANENT_ADDRESS' undeclared (first use this
    function)
    test.cpp:13: error: `adapter' undeclared (first use this function)
    test.cpp:13: error: parse error before `)' token
    test.cpp:15: error: `cout' undeclared (first use this function)
    test.cpp:18: error: `setbase' undeclared (first use this function)
    test.cpp:18: error: `setfill' undeclared (first use this function)
    test.cpp:18: error: `setw' undeclared (first use this function)
    et voici mon code :
    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
     
    #include <iostream>
    #include <stdio.h>
    #include <pcap.h>
    #include <iomanip>
     
    int main(int argc, char *argv[])
    {
    	PACKET_OID_DATA *poidd;
    	char buf[16];
    	poidd=(PACKET_OID_DATA *)buf;
    	poidd->Oid=OID_802_3_PERMANENT_ADDRESS;
    	poidd->Length=6;
    	PacketRequest(adapter, false, (PACKET_OID_DATA *)poidd);
     
    	cout << "|Adresse MAC:\t| ";
    	for(int i=0;i<6;i++)
    	{
       		cout << setbase(16) << setfill('0') << setw(2) << static_cast<int>(poidd->Data[i]);
       		if (i!=5)
       		{
          			cout << ":";
       		}
    	}
    }
    y a t'il une libraire particulière a inclure ????? ou bien ai-je fais une erreur ds mon code ???

  5. #5
    Fry
    Fry est déconnecté
    Membre confirmé Avatar de Fry
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 150
    Par défaut
    sous windows avec winpcap il faut inclure la lib je pense que sous linux ca doit etre pareil...
    et il faut evidement initialiser PCAP et l adapter...
    et de plus sous winpcap les entete et lib a inclure sont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #include "Include\packet32.h"
    #include "Include\ntddndis.h"
    #pragma comment(lib, "lib\Packetb.lib")  //Packet.lib convertit pour borland
    pour initialiser l adapteur il y a un code a peu pres standard disponible sur le site officiel et sur internet....

    et pour les autres erreurs il faut inclure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #include <iomanip>
    #include <iostream>

  6. #6
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 18
    Par défaut
    désoler mais cela ne fonctionne pas et de plus j'ai deja inclue "iostream" et "iomanip". bon je vais essayer de me débrouiller autrement !!!

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 394
    Par défaut
    Qu'est-ce qui te déplais dans la solution du lien que je t'ai soumis ?
    Un simple copier/coller devrait résoudre ton problème.

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 8
    Par défaut
    Moi je me sers de Packet.dll de chez winpcap. Ca marche au beurre, je snif le réseau, je capture les trames ARP contenant la résolution d' adresse Mac en adresse IP, le problème, quand mon appli ce fini windows 98 n'a plus de réseau , si quelqu'un a la solution , merci bien.

Discussions similaires

  1. Obtenir l'adresse mac de sa carte reseau
    Par kivoch dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/11/2009, 18h30
  2. recuperer adresse MAC d'un pc sur un reseau local
    Par LineLe dans le forum Développement
    Réponses: 3
    Dernier message: 25/03/2005, 16h37
  3. Réponses: 5
    Dernier message: 25/03/2003, 17h27
  4. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

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