如何在android系统中,获得客户端Mac地址
假如已知客户端ip地址,哪位大侠知道啊,恳请赐教。另外注意是客户端mac不是本机的哦! --------------------编程问答-------------------- 高手呢,高手呢 --------------------编程问答-------------------- 在客户端创建用户 ssh对方客户端 ifconfig > mac.txt--------------------编程问答-------------------- 可能是我表达的有问题了。其实我的意思是通过ip查找到和手机在同一局域网内的机器的mac地址。这个问题在国内网上搜了一个下午,没有结果,后来在国外网站上找到了解决方案,并测试通过了。代码如下:
public String getMacFromArpCache(String ip) {
if (ip == null)
return null;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
if (splitted != null && splitted.length >= 4 && ip.equals(splitted[0])) {
// Basic sanity check
String mac = splitted[3];
if (mac.matches("..:..:..:..:..:..")) {
return mac;
} else {
return null;
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
这个问题,在android2.3中调用一个接口就能解决。不过2.2之前貌似只能用上面的方法。网上说的什么用nbtstat命令之类的都不适用与android系统 --------------------编程问答--------------------
学习,我也来试下 --------------------编程问答-------------------- 标志~~~~~~~~~~ --------------------编程问答-------------------- 有力呀 --------------------编程问答--------------------
用楼主提供的方法测试了一下,arp缓存中只有服务器的记录,而无法获取到局域网内其他的机器啊
补充:移动开发 , Android