有没有办法让 Android 设备应答发送到广播地址的 icmp ping?

Int*_*idd 4 android ping broadcast icmp android-networking

我想以编程方式让我的设备在连接到 WiFi 网络时响应广播 ping(即 ping 192.178.1.255)。

我有办法做到这一点吗?也许是一个会回复的侦听器,或者是在某个地方设置的标志?

谢谢。

acj*_*acj 5

我有办法做到这一点吗?

简而言之:是的。但集成必要的组件需要付出很大的努力。

关键问题是你需要监听ICMP网络数据包。此类功能无法从 Java 访问,需要 JNI 代码或外部程序。(据我所知,它还需要有 root 权限的设备。)

您将需要一个可以处理网络流量的库或程序,例如Jpcap(需要进行一些修改才能在 Android 上工作)。tcpdump您还可以在后台安装并运行一个实例并解析其输出。