如何在android中获取连接到同一网络的设备的mac地址?

时间:2016-02-16 10:33:05

标签: java android network-programming mac-address

如何在Android中获取连接到同一网络的所有设备的mac地址,就像在这个应用程序中一样?

这方面的任何代码段都会有所帮助。

mac address fing

1 个答案:

答案 0 :(得分:0)

以下是访问Android中的ARP表以解析IP到Mac地址的代码示例

string GetMACAddressviaIP(string ipAddr)
{
    string result = "";
    ostringstream ss;
    ss << "/proc/net/arp";
    string loc = ss.str();

    ifstream in(loc);
    if(!in)
    {
        printf("open %s failed\n",loc.c_str());
        return result;
    }

    string line;
    while(getline(in, line)){
        if(strstr(line.c_str(), ipAddr.c_str()))
        {
            const char *buf = strstr(line.c_str(), ":") - 2;
            int counter = 0;
            stringstream ss;
            while(counter < 17)
            {
                ss << buf[counter];
                counter++;
            }
            result = ss.str();
        }
    }

    return result;
}