如何以编程方式通过 Wifi 获取连接在同一网络上的其他设备的 IP 地址?

Posted

技术标签:

【中文标题】如何以编程方式通过 Wifi 获取连接在同一网络上的其他设备的 IP 地址?【英文标题】:How to get Ip address of other devices connected on same network via Wifi programmatically? 【发布时间】:2012-08-18 16:05:56 【问题描述】:

我已经在我的 android 手机中检查了它。启用 Wifi 后,它向我显示了已连接的网络,然后还提供了获取特定网络 IP 地址、信号强度等详细信息。

我可以在 Android 2.3 版中以编程方式执行此操作吗?

【问题讨论】:

我认为这很难你应该有一个 root 权限,并且必须为每个地址 ping 并等待重播,但我们可以假设你的 ip -1 ip 都分配给设备;)无论如何 + 1 我怎样才能拥有root权限并且必须ping每个地址?你能告诉我这是怎么可能的吗? 这取决于每个手机,如果你有一个他们提供的 htc 我不知道其余的,我认为这个论坛不讨论这样的事情——你想做什么到底是什么?? 【参考方案1】:

路由器将 IP 分配给范围内的连接设备。例如说来自:

192.168.1.2 到 192.168.1.254

这你可以根据你的设备子网和网关来计算,如下所示-

地址:192.168.0.1 => 11000000.10101000.00000000 .00000001

网络掩码:255.255.255.0 = 24 => 11111111.11111111.11111111 .00000000

通配符:0.0.0.255 => 00000000.00000000.00000000 .11111111

=>

网络:192.168.0.0/24 => 11000000.10101000.00000000 .00000000(C 类)

广播:192.168.0.255 => 11000000.10101000.00000000 .11111111

HostMin: 192.168.0.1 => 11000000.10101000.00000000 .00000001

HostMax:192.168.0.254 => 11000000.10101000.00000000 .11111110

主机/网络:254(私人互联网)

现在尝试从您的设备在 192.168.0.1 到 192.168.0.254 范围内发送 PING 命令,如果您收到回复,通过这种方式您可以了解网络中存在的其他设备。

【讨论】:

以上是关于如何以编程方式通过 Wifi 获取连接在同一网络上的其他设备的 IP 地址?的主要内容,如果未能解决你的问题,请参考以下文章

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

以编程方式将设备连接到android中的同一wifi网络?

如何以编程方式在android中获取连接的wifi路由器的IP地址?

如何以编程方式同时使用 WiFi 和 3G 网络 [关闭]

如何在 iOS7 中以编程方式找到连接 3G 网络或 Wifi 的 iPhone 设备

如何在同一台机器上以编程方式获取通过 AF_INET 套接字连接到我的代理的进程的 PID?