Java获得网段所有可通信的ip地址
时间: 2023-09-17 19:09:15 浏览: 81
可以使用Java中的InetAddress类来获取指定网段中所有可通信的IP地址。下面是一个示例代码:
```java
import java.net.InetAddress;
import java.net.UnknownHostException;
public class IPScanner {
public static void main(String[] args) {
String subnet = "192.168.0";
for (int i = 1; i < 255; i++) {
String host = subnet + "." + i;
try {
InetAddress inetAddress = InetAddress.getByName(host);
if (inetAddress.isReachable(5000)) {
System.out.println(host + " is reachable");
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
```
在这个示例中,我们将网段定义为"192.168.0",然后使用循环遍历1到254之间的所有数字,将其添加到网段后面,形成完整的IP地址。然后使用InetAddress类的isReachable方法来检查该IP地址是否可达。
请注意,isReachable方法可能会抛出异常,因此我们需要在代码中包含异常处理逻辑。此外,isReachable方法的参数是以毫秒为单位的超时时间,因此在此示例中我们将超时时间设置为5000毫秒(即5秒)。