Accueil > Forum > > > > Adresse MAC
Adresse MAC
mercredi 7 mai 2003 à 16:15:20 |
Adresse MAC

none77
|
Bonjour, j'aimerais savoir s'il est possible de récupérer l'adresse MAC d'un pc distant sur un réseau local. Merci, None.
|
|
vendredi 9 mai 2003 à 09:00:42 |
Re : Adresse MAC

roswell117
|
Trouvé dans la MSDN, j'espères que ca fera ton bonheur : [ Lien ]This function sends an ARP request to obtain the physical address that corresponds to the specified destination IP address. DWORD SendARP( IPAddr DestIP, IPAddr SrcIP, PULONG pMacAddr, PULONG PhyAddrLen ); Parameters DestIP Specifies the destination IP address. The ARP request attempts to obtain the physical address that corresponds to this IP address. SrcIP Specifies the IP address of the sender. This parameter is optional. The caller may specify zero for the parameter. pMacAddr Pointer to a ULONG variable. On successful return, this variable contains the physical address that corresponds to the IP address specified by the DestIP parameter. PhyAddrLen Pointer to a ULONG variable. On successful return, this variable contains the length of the physical address pointed to by the pMacAddr parameter. Return Values If the function succeeds, the return value is NO_ERROR. If the function fails, an error code is returned. Requirements OS Versions: Windows CE 3.0 and later. Header: Iphlpapi.h. Link Library: Iphlpapi.lib. ------------------------------- Réponse au message : ------------------------------- > Bonjour, > > j'aimerais savoir s'il est possible de récupérer l'adresse MAC d'un pc distant sur un réseau local. > > Merci, > None.
|
|
vendredi 9 mai 2003 à 09:45:37 |
Re : Adresse MAC

none77
|
Merci; Mais j'ai peur ke ceci no concerne ke WindowsCE, NON? Regardes les "Requirements" et également le nom de la doc d'aide ki contient "wcesdk" : Windows CE SDK ???? Mais merci beaucoup de m'avoir répondu, je vais essayer cela , et si ca ne fonctionne pas ca me montre au moins ke c'est possible mais kil fo ke je cherche autre choz. merci encore, None. ------------------------------- Réponse au message : ------------------------------- > Trouvé dans la MSDN, j'espères que ca fera ton bonheur : > > [ Lien ]> > This function sends an ARP request to obtain the physical address that corresponds to the specified destination IP address. > > DWORD SendARP( > IPAddr DestIP, > IPAddr SrcIP, > PULONG pMacAddr, > PULONG PhyAddrLen > ); > Parameters > DestIP > Specifies the destination IP address. The ARP request attempts to obtain the physical address that corresponds to this IP address. > SrcIP > Specifies the IP address of the sender. This parameter is optional. The caller may specify zero for the parameter. > pMacAddr > Pointer to a ULONG variable. On successful return, this variable contains the physical address that corresponds to the IP address specified by the DestIP parameter. > PhyAddrLen > Pointer to a ULONG variable. On successful return, this variable contains the length of the physical address pointed to by the pMacAddr parameter. > Return Values > If the function succeeds, the return value is NO_ERROR. If the function fails, an error code is returned. > > Requirements > OS Versions: Windows CE 3.0 and later. > Header: Iphlpapi.h. > Link Library: Iphlpapi.lib. > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Bonjour, > > > > j'aimerais savoir s'il est possible de récupérer l'adresse MAC d'un pc distant sur un réseau local. > > > > Merci, > > None. >
|
|
vendredi 9 mai 2003 à 13:35:20 |
Re : Adresse MAC

roswell117
|
Un exemple trouvé dans la MSDN de la fonction SendARP (j'en trouve beaucoup en ce moment) testé sous W2k et qui marche : [ Lien ]// // Link with ws2_32.lib and iphlpapi.lib // #include <windows.h> #include <stdio.h> #include <tchar.h> #include <iphlpapi.h> int __cdecl main() { HRESULT hr; IPAddr ipAddr; ULONG pulMac[2]; ULONG ulLen; ipAddr = inet_addr ("192.168.25.31"); memset (pulMac, 0xff, sizeof (pulMac)); ulLen = 6; hr = SendARP (ipAddr, 0, pulMac, &ulLen); printf ("Return %08x, length %8d\n", hr, ulLen); size_t i, j; char * szMac = new char[ulLen*3]; PBYTE pbHexMac = (PBYTE) pulMac; // // Convert the binary MAC address into human-readable // for (i = 0, j = 0; i < ulLen - 1; ++i) { j += sprintf (szMac + j, "%02X:", pbHexMac[i]); } sprintf (szMac + j, "%02X", pbHexMac[i]); printf ("MAC address %s\n", szMac); delete [] szMac; return 0; } j'ai du un peu modifier mon fichier iphlpapi.h, mais il marche parfaitement. Celui-ci devrait faire ton bonheur !!!
|
|
vendredi 9 mai 2003 à 14:08:14 |
Re : Adresse MAC

none77
|
Merci encore une fois, mais j'ai un pti pb cet exemple m'a l'air vraiement bien mais je ne trouve pas le fichier "iphlpapi.h" Peux tu me dire ou je peux le trouver et ce que tu as modifier dedans. J'ai chercher le fichier partout sur mon dur et les cd de la msdn mais trouve po :o( je vais essayer le CD de visual studio .... Merci c'est vraiment sympa, None. PS tu peux aussi m'envoyer ca par mail: c'est "none77" chez "caramail.com" (j'ai fais exprès de ne pas mettre l'adresse pour les SPAM ;o) ) MERCI ------------------------------- Réponse au message : ------------------------------- > Un exemple trouvé dans la MSDN de la fonction SendARP (j'en trouve beaucoup en ce moment) testé sous W2k et qui marche : > > [ Lien ]> > // > // Link with ws2_32.lib and iphlpapi.lib > // > > #include <windows.h> > #include <stdio.h> > #include <tchar.h> > #include <iphlpapi.h> > > > int __cdecl main() > { > HRESULT hr; > IPAddr ipAddr; > ULONG pulMac[2]; > ULONG ulLen; > > ipAddr = inet_addr ("192.168.25.31"); > memset (pulMac, 0xff, sizeof (pulMac)); > ulLen = 6; > > hr = SendARP (ipAddr, 0, pulMac, &ulLen); > printf ("Return %08x, length %8d\n", hr, ulLen); > > size_t i, j; > char * szMac = new char[ulLen*3]; > PBYTE pbHexMac = (PBYTE) pulMac; > > // > // Convert the binary MAC address into human-readable > // > for (i = 0, j = 0; i < ulLen - 1; ++i) { > j += sprintf (szMac + j, "%02X:", pbHexMac[i]); > } > > sprintf (szMac + j, "%02X", pbHexMac[i]); > printf ("MAC address %s\n", szMac); > > delete [] szMac; > > return 0; > } > > j'ai du un peu modifier mon fichier iphlpapi.h, mais il marche parfaitement. > Celui-ci devrait faire ton bonheur !!!
|
|
vendredi 9 mai 2003 à 14:12:45 |
Re : Adresse MAC

roswell117
|
en fait, je l'ai dvp sous dev-cpp 4.9.8 et j'ai juste mis en commentaires les fonctions qui ressortaient en erreur :
#ifndef _IPHLPAPI_H #define _IPHLPAPI_H #if __GNUC__ >=3 #pragma GCC system_header #endif
//#include <iprtrmib.h> #include <ipexport.h> #include <iptypes.h> #ifdef __cplusplus extern "C" { #endif DWORD WINAPI AddIPAddress(IPAddr,IPMask,DWORD,PULONG,PULONG); DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW); DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW); DWORD WINAPI CreateProxyArpEntry(DWORD,DWORD,DWORD); DWORD WINAPI DeleteIPAddress(ULONG); DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW); DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW); DWORD WINAPI DeleteProxyArpEntry(DWORD,DWORD,DWORD); DWORD WINAPI EnableRouter(HANDLE*,OVERLAPPED*); DWORD WINAPI FlushIpNetTable(DWORD); DWORD WINAPI GetAdapterIndex(LPWSTR,PULONG); DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO,PULONG); DWORD WINAPI GetBestInterface(IPAddr,PDWORD); //DWORD WINAPI GetBestRoute(DWORD,DWORD,PMIB_IPFORWARDROW); DWORD WINAPI GetFriendlyIfIndex(DWORD); DWORD WINAPI GetIcmpStatistics(PMIB_ICMP); DWORD WINAPI GetIfEntry(PMIB_IFROW); //DWORD WINAPI GetIfTable(PMIB_IFTABLE,PULONG,BOOL); DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO,PULONG); //DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE,PULONG,BOOL); //DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE,PULONG,BOOL); //DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE,PULONG,BOOL); DWORD WINAPI GetIpStatistics(PMIB_IPSTATS); DWORD WINAPI GetNetworkParams(PFIXED_INFO,PULONG); DWORD WINAPI GetNumberOfInterfaces(PDWORD); DWORD WINAPI GetPerAdapterInfo(ULONG,PIP_PER_ADAPTER_INFO, PULONG); BOOL WINAPI GetRTTAndHopCount(IPAddr,PULONG,ULONG,PULONG); DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS); //DWORD WINAPI GetTcpTable(PMIB_TCPTABLE,PDWORD,BOOL); DWORD WINAPI GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,PULONG); DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS); //DWORD WINAPI GetUdpTable(PMIB_UDPTABLE,PDWORD,BOOL); DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP); DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP); DWORD WINAPI NotifyAddrChange(PHANDLE,LPOVERLAPPED); DWORD WINAPI NotifyRouteChange(PHANDLE,LPOVERLAPPED); DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG); DWORD WINAPI SetIfEntry(PMIB_IFROW); DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW); DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW); DWORD WINAPI SetIpStatistics(PMIB_IPSTATS); DWORD WINAPI SetIpTTL(UINT); DWORD WINAPI SetTcpEntry(PMIB_TCPROW); DWORD WINAPI UnenableRouter(OVERLAPPED*, LPDWORD); #ifdef __cplusplus } #endif #endif /* _IPHLPAPI_H */
et si t'as pas le reste, je te l'enverrais.
|
|
vendredi 9 mai 2003 à 14:33:12 |
Re : Adresse MAC

none77
|
Ouai bah la je croi ke je suis complètemen a coté en utilisant visual studio car il ne veut pas des #include qui se trouve dans le iphlpapi.h ke tu ma filé, et en plus il ne reconnais po les types du genre IPAddr (mais ca je pense ke ca vien des .h kil ne veux po inclure donc je vais me mettre à les chercher ceux la aussi ...)
grrrrrrr...... None.
------------------------------- Réponse au message : -------------------------------
> en fait, je l'ai dvp sous dev-cpp 4.9.8 et j'ai juste mis en commentaires les fonctions qui ressortaient en erreur : > > #ifndef _IPHLPAPI_H > #define _IPHLPAPI_H > #if __GNUC__ >=3 > #pragma GCC system_header > #endif > > //#include <iprtrmib.h> > #include <ipexport.h> > #include <iptypes.h> > #ifdef __cplusplus > extern "C" { > #endif > DWORD WINAPI AddIPAddress(IPAddr,IPMask,DWORD,PULONG,PULONG); > DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW); > DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW); > DWORD WINAPI CreateProxyArpEntry(DWORD,DWORD,DWORD); > DWORD WINAPI DeleteIPAddress(ULONG); > DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW); > DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW); > DWORD WINAPI DeleteProxyArpEntry(DWORD,DWORD,DWORD); > DWORD WINAPI EnableRouter(HANDLE*,OVERLAPPED*); > DWORD WINAPI FlushIpNetTable(DWORD); > DWORD WINAPI GetAdapterIndex(LPWSTR,PULONG); > DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO,PULONG); > DWORD WINAPI GetBestInterface(IPAddr,PDWORD); > //DWORD WINAPI GetBestRoute(DWORD,DWORD,PMIB_IPFORWARDROW); > DWORD WINAPI GetFriendlyIfIndex(DWORD); > DWORD WINAPI GetIcmpStatistics(PMIB_ICMP); > DWORD WINAPI GetIfEntry(PMIB_IFROW); > //DWORD WINAPI GetIfTable(PMIB_IFTABLE,PULONG,BOOL); > DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO,PULONG); > //DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE,PULONG,BOOL); > //DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE,PULONG,BOOL); > //DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE,PULONG,BOOL); > DWORD WINAPI GetIpStatistics(PMIB_IPSTATS); > DWORD WINAPI GetNetworkParams(PFIXED_INFO,PULONG); > DWORD WINAPI GetNumberOfInterfaces(PDWORD); > DWORD WINAPI GetPerAdapterInfo(ULONG,PIP_PER_ADAPTER_INFO, PULONG); > BOOL WINAPI GetRTTAndHopCount(IPAddr,PULONG,ULONG,PULONG); > DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS); > //DWORD WINAPI GetTcpTable(PMIB_TCPTABLE,PDWORD,BOOL); > DWORD WINAPI GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,PULONG); > DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS); > //DWORD WINAPI GetUdpTable(PMIB_UDPTABLE,PDWORD,BOOL); > DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP); > DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP); > DWORD WINAPI NotifyAddrChange(PHANDLE,LPOVERLAPPED); > DWORD WINAPI NotifyRouteChange(PHANDLE,LPOVERLAPPED); > DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG); > DWORD WINAPI SetIfEntry(PMIB_IFROW); > DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW); > DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW); > DWORD WINAPI SetIpStatistics(PMIB_IPSTATS); > DWORD WINAPI SetIpTTL(UINT); > DWORD WINAPI SetTcpEntry(PMIB_TCPROW); > DWORD WINAPI UnenableRouter(OVERLAPPED*, LPDWORD); > #ifdef __cplusplus > } > #endif > #endif /* _IPHLPAPI_H */ > > et si t'as pas le reste, je te l'enverrais.
|
|
vendredi 9 mai 2003 à 14:51:21 |
Re : Adresse MAC

roswell117
|
allez, un dernier essai !!! remplace le #include <Iphlpapi.h> par : typedef unsigned long IPAddr; typedef unsigned long FAR *LPULONG; DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG);et ca devrait finalement marcher (enfin essaye quand même  )
|
|
vendredi 9 mai 2003 à 15:08:15 |
Re : Adresse MAC

none77
|
Je pense ke l'on approche du but mais c'est po encore ca :o( Parce que je n'ai pas le fichier "iphlpapi.lib" donc kan je fais #pragma comment(lib,"iphlpapi.lib") ca me di ke ca ne connais po le fichier et si je mets cette ligne en commentaire et bien après il connai plus SendARP ! GRRRRRR........ désolé, None. ------------------------------- Réponse au message : ------------------------------- > allez, un dernier essai !!! > > remplace le #include <Iphlpapi.h> par : > > typedef unsigned long IPAddr; > typedef unsigned long FAR *LPULONG; > DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG);> > et ca devrait finalement marcher (enfin essaye quand même  )
|
|
vendredi 9 mai 2003 à 15:49:12 |
Re : Adresse MAC

none77
|
Tu pourrai pas m'envoyé le fichier par mail STP? Merci beaucoup, et désolé pour le dérangement, None. ------------------------------- Réponse au message : ------------------------------- > Je pense ke l'on approche du but mais c'est po encore ca :o( > > Parce que je n'ai pas le fichier "iphlpapi.lib" > donc kan je fais #pragma comment(lib,"iphlpapi.lib") ca me di ke ca ne connais po le fichier et si je mets cette ligne en commentaire et bien après il connai plus SendARP ! > > GRRRRRR........ > > désolé, > None. > > > ------------------------------- > Réponse au message : > ------------------------------- > > > allez, un dernier essai !!! > > > > remplace le #include <Iphlpapi.h> par : > > > > typedef unsigned long IPAddr; > > typedef unsigned long FAR *LPULONG; > > DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG);> > > > et ca devrait finalement marcher (enfin essaye quand même  ) >
|
|
Cette discussion est classée dans : mac, adresse
Répondre à ce message
Sujets en rapport avec ce message
Recuperation adresse MAC des machines d un reseau [ par sicakmustafa ]
Je voudrais récupérer les adresses MAC se trouvant dans le meme réseau (LAN), mais je n'ai pas trouver d'appels systèmes qui fait cela.Pouvez-vous m'a
Obtenir adress mac local + ca marche à moitié.... [ par emmanuel9 ]
Bonjour, J'aurais souhaité récupéré l'adresse mac de ma machine, j'ai essayé le code suivant (c++ managé)String* machineMacAddress = "";ManagementCla
Obtenir l'adresse MAC d'une IP [ par metos ]
Bonjour à tous, J'ai une adresse IP, et je souhaiterais obtenir l'adresse MAC. Comment peut-on le faire en C?Merci d'avancemetos
Trouver l'adresse mac d'une connection à partir du serveur [ par wizard512 ]
Bonjour, Je souhaiterais savoir si quelqu'un s'aurais comment récupéré l'adresse mac d'un programme client se connectant sur un p
Obtenir une mac adresse en c++ [ par Xantra ]
Bonjour,Je cherche un code permettant de récupérer la mac adresse de la carte réseau numéro 1 d'un pc. Après une journée de recherche je commence a cr
Adresse MAC [ par Jeff_Trek ]
Comment récupère-t-on l'adresse matérielle d'une carte réseau (Adresse MAC) et comment la passe-t-on en paramètre dans une socket ?Jeff.
Toujours besoin d'aide sur socket avec 2 cartes reseau [ par Jeff_Trek ]
Bonjour,Je reçois des trames grace à ma socket cliente (qui doit être liée à une carte reseau), et renvoyer ces trames via une socket serveur (qui doi
Activer Internet explorer avec adresse spécifique [ par annielaf ]
Bonjour à tous J'ai un petit problème avec mon vpn. Pour le régler, j'ai pensé à un petit programme (visual c++ 6.0), mais je ne connais pas beauco
recuperer l'adresse ip derriere un routeur [ par ebooserge ]
salut a tous,juste une petite question sur la prog reseau. j'aimerais savoir s'il existe une fonction qui permet de recuperer l'adresse IP publique du
Adresse d'une fonction CallBack dans une classe [ par Capa6T ]
Bonjour, J'ai un petit souçis pour récupèrer l'adresse d'une fonction CallBack dans une classe. MaClasse.h : ------------ class MaClasse { protected
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|