1
我最近正在研究一个需要访问ARP表的Android项目。其中一个要求是避免任何需要根植设备的方法。所以,我的问题是: 是否有任何方式来访问Android中的ARP表,而不需要root设备?在Android中无需访问ARP表
目前我发现大多数方法都使用/ proc/net/arp作为需要root权限的ARP表访问,我不确定这是否唯一方法。
我最近正在研究一个需要访问ARP表的Android项目。其中一个要求是避免任何需要根植设备的方法。所以,我的问题是: 是否有任何方式来访问Android中的ARP表,而不需要root设备?在Android中无需访问ARP表
目前我发现大多数方法都使用/ proc/net/arp作为需要root权限的ARP表访问,我不确定这是否唯一方法。
我可以在没有root权限的情况下访问ARP表。这里是我的代码:
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;
}
您是否发现了一种不同的方式来访问ARP表? –