我自己用找很久的範例,改成dev-c++的library
arp.h
#ifndef ArpHPP #define ArpHPP /************************************************* project must include "http://www.cnblogs.com/../Dev-Cpp/lib/libiphlpapi.a" "http://www.cnblogs.com/../Dev-Cpp/lib/libwsock32.a" *************************************************/ #include <windows.h> #include <iphlpapi.h> /// Syntax /// bool MacFromIP( /// _out char* MacAddress /// _in char* IpAddress /// ); /// Return Value /// true - succeed /// false - fail bool MacFromIP(char*, char*); #endif
arp.cpp
#include "arp.h"
bool MacFromIP(char* lpMAC, char* lpIP)
{
IPAddr ipAddr;
ULONG pulMac[2];
PBYTE pbHexMac = (PBYTE)pulMac;
ULONG ulLen = 6;
ipAddr = inet_addr(lpIP);
memset( pulMac, 0xff, sizeof(pulMac) );
if( SendARP(ipAddr, 0, pulMac, &ulLen) == NO_ERROR )
{
wsprintf(lpMAC, "%02X-%02X-%02X-%02X-%02X-%02X", pbHexMac[0], pbHexMac[1], pbHexMac[2], pbHexMac[3], pbHexMac[4], pbHexMac[5]);
return true;
}
else
return false;
}
浙公网安备 33010602011771号