假如已知客户端ip地址,哪位大侠知道啊,恳请赐教。另外注意是客户端mac不是本机的哦!

解决方案 »

  1.   

    在客户端创建用户 ssh对方客户端 ifconfig > mac.txt 
      

  2.   

    可能是我表达的有问题了。其实我的意思是通过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系统
      

  3.   


    用楼主提供的方法测试了一下,arp缓存中只有服务器的记录,而无法获取到局域网内其他的机器啊