现在的位置: 首页 > 综合 > 正文

根据IP地址获取MAC地址

2013年08月15日 ⁄ 综合 ⁄ 共 444字 ⁄ 字号 评论关闭

std::string GetMacByIp(LPCSTR lpIp)
{
    IPAddr saddr;
    memset(&saddr,0,sizeof(saddr));
    ULONG ulMac[2];
    ULONG ulLen = sizeof(ulMac);
    saddr = inet_addr(lpIp);
    char szMac[20] = "";
    HRESULT hr = SendARP(saddr,0,ulMac,&ulLen);
    if (hr == NO_ERROR)
    {
        PBYTE pbHexMac = (PBYTE)ulMac;
        _snprintf(szMac,ulLen*3+1,"%02x-%02x-%02x-%02x-%02x-%02x",pbHexMac[0],pbHexMac[1],pbHexMac[2],pbHexMac[3],pbHexMac[4],pbHexMac[5]);
        return szMac;
    }

    return "";
}

抱歉!评论已关闭.