#include "..\include_eapi_header.h"#include <sstream>#include <iomanip>#include <iphlpapi.h>#pragma comment(lib,"Ws2_32.lib")//试试流能静编吗inline char* GetRemoteMac(const char* ip){ULONG PhyAddrLen = 6;WSAData wsaData;ULONG pMacAddr[2] = { 0 };std::ostringstream oss;if (WSAStartup(MAKEWORD(2, 2), &wsaData) == 0){IPAddr addr = inet_addr(ip);if (gethostbyaddr((const char*)&addr, sizeof(addr), AF_INET) != 0 &&SendARP(addr, 0, &pMacAddr, &PhyAddrLen) == 0){BYTE* bPhysAddr = (BYTE*)&pMacAddr;oss << std::hex << std::setfill('0') << std::setw(2) << (int)bPhysAddr[0] << '-'<< std::hex << std::setfill('0') << std::setw(2) << (int)bPhysAddr[1] << '-'<< std::hex << std::setfill('0') << std::setw(2) << (int)bPhysAddr[2] << '-'<< std::hex << std::setfill('0') << std::setw(2) << (int)bPhysAddr[3] << '-'<< std::hex << std::setfill('0') << std::setw(2) << (int)bPhysAddr[4] << '-'<< std::hex << std::setfill('0') << std::setw(2) << (int)bPhysAddr[5];}WSACleanup();}return CloneTextData(oss.str().c_str());}// 调用格式: SDT_TEXT 取远程网卡物理地址, 命令说明: "根据指定的IP地址取远程机器网卡的物理地址。。失败返回空。"// 参数<1>: IP地址 SDT_TEXT, 参数说明: NULLEAPI_EXTERN_C void eapi_GetRemoteMac_45_eapi(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf){pRetData->m_pText = GetRemoteMac(pArgInf->m_pText);}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。