如何使用java获取网络上的所有IP地址?
我正在使用InetAddress类获取网络上的IP地址 问题是,有时我无法获取某些地址,有时,InetAddress无法从网络获取单个IP 有什么问题吗? 谢谢 我尝试了以下代码:如何使用java获取网络上的所有IP地址?,java,network-programming,Java,Network Programming,我正在使用InetAddress类获取网络上的IP地址 问题是,有时我无法获取某些地址,有时,InetAddress无法从网络获取单个IP 有什么问题吗? 谢谢 我尝试了以下代码: public void fatchAllNetworkIP() throws UnknownHostException, IOException { System.out.println("Fetching IP..."); InetAddress localhost = InetAddress.g
public void fatchAllNetworkIP() throws UnknownHostException, IOException
{
System.out.println("Fetching IP...");
InetAddress localhost = InetAddress.getLocalHost();
byte[] ip = localhost.getAddress();
for (int i = 1; i <= 254; i++)
{
ip[3] = (byte)i;
InetAddress address = InetAddress.getByAddress(ip);
if(address.isReachable(1000))
{
//JOptionPane.showMessageDialog(null, address);
System.out.println("IP Address "+i+"is "+address);
}
}
}
public void fatchAllNetworkIP()抛出UnknownHostException,IOException
{
System.out.println(“获取IP…”);
InetAddress localhost=InetAddress.getLocalHost();
字节[]ip=localhost.getAddress();
对于(int i=1;i尝试java.net.NetworkInterface
,获取所有可用的NetworkInterface,然后获取所有附加的InetAddresses尝试使用192.168.x.x的示例
public static void main(String args[]) throws UnknownHostException {
byte[] ip = {(byte)192, (byte)168, 0, 0}; //Note: for 192.168.0.x addresses
for (int i = 1; i <= 254; i++)
{
ip[3] = (byte) i;
InetAddress address = InetAddress.getByAddress(ip);
System.out.printf("InetAddress1: %s\n", address);
}
}
publicstaticvoidmain(字符串args[])抛出UnknownHostException{
字节[]ip={(字节)192,(字节)168,0,0};//注意:对于192.168.0.x地址
对于(int i=1;i您需要更改超时,以便系统可以检查是否有来自网络机器的回复
if(address.isReachable(2000)) {
System.out.println("IP Address "+i+"is "+address);
}
如果同样的问题再次出现,请尝试增加超时时间