有什么好办法程序里判断多个IP是来自同一主机,比如一个主机配置了多个IP

时间:2022-08-25 14:21:51
比如在一个主机上配置了多个IP

192.168.0.1
192.168.0.2
10.172.100.100

java有什么最简单的方法判断上面这几个IP都是来自这一个主机的?

11 个解决方案

#1


如果在局域网里面,而且主机只有一个网卡的情况下,可以通过判断网卡的物理地址来确认。

#2


答案就是:不能判断

#3


判断:MAC Id.

#4


只能通过win32 api

#5


那能不能根据机器的一个IP,获得该机器已配置的所有IP呢

#6


肯定不能靠mac,可不可以往一个ip上写点东西,然后从其他ip上读

#7



单单是ip肯定无法判断

#8


一个主机多个IP是如何实现的呢?如果只用一个网卡,那么你读一下自己的ARP表就能看到多个IP地址对应一个MAC地址。

如果用多个网卡就不好办了,如果该主机直接连了可网管交换机,那就读那台交换机的转发表,看一个端口下对应了几个MAC地址。多个MAC自然就是多个网卡。

#9


只有一个网卡

也就是只判断一个网卡上配置的多个IP

#10


import java.net.InetAddress;
import java.net.UnknownHostException;

public class getip
{
public static void main(String[] args){
try{
InetAddress[] addresses=InetAddress.getAllByName("www.sina.com.cn");
for(int i=0;i<addresses.length;i++){
System.out.println(addresses[i].getHostAddress());
}

}
catch(UnknownHostException uhe){
System.err.println("Can not Find the ip");
}


}
}

#11


import java.net.InetAddress;
import java.net.UnknownHostException;

public class getip
{
public static void main(String[] args){
try{
InetAddress[] addresses=InetAddress.getAllByName("www.sina.com.cn");
for(int i=0;i<addresses.length;i++){
System.out.println(addresses[i].getHostAddress());
}

}
catch(UnknownHostException uhe){
System.err.println("Can not Find the ip");
}


}
}

#1


如果在局域网里面,而且主机只有一个网卡的情况下,可以通过判断网卡的物理地址来确认。

#2


答案就是:不能判断

#3


判断:MAC Id.

#4


只能通过win32 api

#5


那能不能根据机器的一个IP,获得该机器已配置的所有IP呢

#6


肯定不能靠mac,可不可以往一个ip上写点东西,然后从其他ip上读

#7



单单是ip肯定无法判断

#8


一个主机多个IP是如何实现的呢?如果只用一个网卡,那么你读一下自己的ARP表就能看到多个IP地址对应一个MAC地址。

如果用多个网卡就不好办了,如果该主机直接连了可网管交换机,那就读那台交换机的转发表,看一个端口下对应了几个MAC地址。多个MAC自然就是多个网卡。

#9


只有一个网卡

也就是只判断一个网卡上配置的多个IP

#10


import java.net.InetAddress;
import java.net.UnknownHostException;

public class getip
{
public static void main(String[] args){
try{
InetAddress[] addresses=InetAddress.getAllByName("www.sina.com.cn");
for(int i=0;i<addresses.length;i++){
System.out.println(addresses[i].getHostAddress());
}

}
catch(UnknownHostException uhe){
System.err.println("Can not Find the ip");
}


}
}

#11


import java.net.InetAddress;
import java.net.UnknownHostException;

public class getip
{
public static void main(String[] args){
try{
InetAddress[] addresses=InetAddress.getAllByName("www.sina.com.cn");
for(int i=0;i<addresses.length;i++){
System.out.println(addresses[i].getHostAddress());
}

}
catch(UnknownHostException uhe){
System.err.println("Can not Find the ip");
}


}
}