Java 检测任何正在连接网络的人
有没有一种方法可以检测到有人使用Java连接到您的网络?像一个事件监听器,当有人连接到您的网络时会发出警报 例如,我正在使用这个代码Java 检测任何正在连接网络的人,java,networking,network-programming,Java,Networking,Network Programming,有没有一种方法可以检测到有人使用Java连接到您的网络?像一个事件监听器,当有人连接到您的网络时会发出警报 例如,我正在使用这个代码 String subnet = "192.168.1"; int timeout = 1000; for (int i = 1; i < 255; i++) { String host = subnet + "." + i; if (InetAddress.getByName(host)
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");
}
}
String subnet=“192.168.1”;
int超时=1000;
对于(int i=1;i<255;i++){
字符串主机=子网+“+i;
if(InetAddress.getByName(主机).isRecable(超时)){
System.out.println(可以访问主机+);
}
}
但它必须不断地检查,这是不够的。当其他设备连接到我的局域网时,我的电脑是否接收到广播或信号
提前感谢。方法isReachable()使用ICMP ECHO,并不是每个设备都默认启用它。如果您使用的是Linux,请查看
netdiscover
,我认为这使用的是ARP(ARP的级别低于TCP/UDP,而Java只能从TCP/UDP及以上创建应用程序)。这里唯一真正了解这些事情的组件是路由器/交换机。