有没有办法通过Java检测连接到您网络的人?就像一个事件监听器,当某人连接到您的网络时会发出警报?
例如,我使用此代码
String subnet = "192.168.1";
int timeout = 1000;
for (int i = 1; i < 255; i++) {
String host = subnet + "." + i;
if (InetAddress.getByName(host).isReachable(timeout)) {
System.out.println(host + " is reachable");
}
}
但它必须不断检查所有时间都是无效的。当其他设备连接到我的局域网时,我的电脑是否收到广播或信号?
提前致谢。
答案 0 :(得分:0)
方法isReachable()使用ICMP ECHO,并非默认情况下每个设备都启用它。如果您正在使用Linux,请查看netdiscover
这使用ARP我认为(ARP低于TCP / UDP,而使用Java,您只能使用TCP / UDP及以上版本创建应用程序)