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自然就是多个网卡。
如果用多个网卡就不好办了,如果该主机直接连了可网管交换机,那就读那台交换机的转发表,看一个端口下对应了几个MAC地址。多个MAC自然就是多个网卡。
#9
只有一个网卡
也就是只判断一个网卡上配置的多个IP
也就是只判断一个网卡上配置的多个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");
}
}
}
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");
}
}
}
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自然就是多个网卡。
如果用多个网卡就不好办了,如果该主机直接连了可网管交换机,那就读那台交换机的转发表,看一个端口下对应了几个MAC地址。多个MAC自然就是多个网卡。
#9
只有一个网卡
也就是只判断一个网卡上配置的多个IP
也就是只判断一个网卡上配置的多个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");
}
}
}
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");
}
}
}
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");
}
}
}