我自己用找很久的範例,改成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; }