代码拉取完成,页面将自动刷新
#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, 参数说明: NULL
EAPI_EXTERN_C void eapi_GetRemoteMac_45_eapi(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
pRetData->m_pText = GetRemoteMac(pArgInf->m_pText);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。