Re: Requête ARP

Posté par Totof le 25/4/2007 9:29:23
Bonjour,

Voici une procédure qui vous sera utile :

FONCTION Gbl_Recup_Adresse_MAC(sRemoteIP)
sRes est chaîne
// Récupération de l'adresse MAC à partir de son IP.

nRemoteIP est un entier sans signe
bfMacAddr est chaîne
sErr      est chaîne
N, nMacAddrLen sont entiers        

nRemoteIP = API("wsock32.dll","inet_addr",sRemoteIP)

SI nRemoteIP <> 0 ALORS
	
	nMacAddrLen = 6
	bfMacAddr = Complète("",6)
	
	//Recuperation de la MAC-address distante
	SI API("iphlpapi.dll","SendARP",nRemoteIP, Null, &bfMacAddr, &nMacAddrLen) = 0 ALORS
		
		SI nMacAddrLen <> 0 ALORS
			
			POUR N = 1 A nMacAddrLen
				sRes += NumériqueVersChaîne(Asc(bfMacAddr[[N]]),"02x") + "-"
			FIN
			
			SI Taille(sRes) > 0 ALORS
				sRes = Gauche(sRes, Taille(sRes) - 1)
				RENVOYER Majuscule(sRes)
			FIN
			
		FIN
		
	SINON
		sErr="SendARP"
	FIN
	
SINON
	sErr="inet_addr"
FIN

RENVOYER "Err "+sErr


Bon dév.,

Totof

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=5083&post_id=20969