android设备 如何通过mac地址知道ip地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android设备 如何通过mac地址知道ip地址相关的知识,希望对你有一定的参考价值。

有两个IP不固定的设备,如何远距离通信?
TCP/IP中 有没有可以通过远方的MAC地址知道对应IP的机制?

参考技术A android 中有 获取IP 和 MAC的方法例如获取Ip

public String GetHostIp()

try

for (Enumeration<NetworkInterface> en = NetworkInterface

.getNetworkInterfaces(); en.hasMoreElements();)

NetworkInterface intf = en.nextElement();

for (Enumeration<InetAddress> ipAddr = intf.getInetAddresses(); ipAddr

.hasMoreElements();)

InetAddress inetAddress = ipAddr.nextElement();

if (!inetAddress.isLoopbackAddress())

return inetAddress.getHostAddress();







catch (SocketException ex)

catch (Exception e)



return null;


MAC 就不列举了自行百度,但是你说的问题 让两台设备TCP通讯,如果是在局域网内,也就是用wifi,你获取ip 然后一个客户端一个服务器是可以连接成功的。但是如果用外网的话,就不是这么简单了。比如 我用android 作为客户端PC作为手机 如果手机用外网访问服务器,这就相当于外网访问内网服务器,需要在服务器进行配置 一、在路由器的转发规则设置映射 二、(这个有的情况不需要,例如,你的pc网络是铁通你的手机是移动卡,就不用第二部,如果你的手机是联通卡就需要这步)申请一个固定Ip 给客户打电话

如何在 Android 上以编程方式从 Mac 地址获取 IP 地址?

【中文标题】如何在 Android 上以编程方式从 Mac 地址获取 IP 地址?【英文标题】:How to get an IP address from Mac address programmatically on Android? 【发布时间】:2012-08-18 21:29:42 【问题描述】:

以编程方式,我从同一网络上的设备获取了其他支持 Wifi 的设备的 Mac 地址。我也需要在这里申请。是否有任何应用程序或任何其他可能性可以通过在 Android 上使用这些 Mac 地址来获取网络上每个启用 wifi 的设备的 IP 地址?

【问题讨论】:

你是怎么得到MAC地址的? 我正在寻找代码来获取连接在同一网络上的其他设备的 MAC 地址。能否请您粘贴代码或链接。我正在搜索,但没有得到确切的结果。 【参考方案1】:

如果您正在寻找安卓应用程序,您可以尝试Network Discovery,它工作得很好,可以列出您本地网络上的所有设备以及相应的 IP 和地址。

如果您正在寻找代码,那么该应用程序是可用的 on github 并且(除其他外)与 Yahel 解释的基本相同:它读取 /proc/net/arp。

注意:我不是此应用程序的作者。

【讨论】:

启动 Android Q 无法再访问 /proc/net/arp 文件。【参考方案2】:

这个人的做法正好相反,所以它应该适合你。

诀窍是从设备中读取 ARP 缓存表。

http://www.flattermann.net/2011/02/android-howto-find-the-hardware-mac-address-of-a-remote-host/

【讨论】:

以上是关于android设备 如何通过mac地址知道ip地址的主要内容,如果未能解决你的问题,请参考以下文章

从Android应用程序获取设备的MAC地址和IP地址[重复]

华为交换机知道IP怎么查看设备mac地址

Android 设备是不是有静态 IP 地址?

获取设备的mac地址和IP地址(android6.0以上专用)

android 设备如何获取mac地址吗

linux下怎样获取网络设备的mac地址,ip地址等