Java getNetworkPrefixLength()返回奇怪的子网掩码

Java getNetworkPrefixLength()返回奇怪的子网掩码,java,networking,mask,subnet,Java,Networking,Mask,Subnet,以下代码: InetAddress localHost = Inet4Address.getLocalHost(); NetworkInterface networkInterface = NetworkInterface.getByInetAddress(localHost); for (InterfaceAddress address : networkInterface.getInterfaceAddresses()) { System.out.println(address.g

以下代码:

InetAddress localHost = Inet4Address.getLocalHost();
NetworkInterface networkInterface = NetworkInterface.getByInetAddress(localHost);

for (InterfaceAddress address : networkInterface.getInterfaceAddresses()) {
    System.out.println(address.getAddress() + "/" + address.getNetworkPrefixLength());
}
返回:

/fe80:0:0:0:11da:433a:412a:8c23%13/64
/192.168.1.107/128
我的子网掩码是/24,而不是/128。这是一个Java错误吗?

也许您遇到了这个错误:


(请停下来向上投票……这离谷歌只有一步之遥……

至少对我来说没有任何意义
/128
不能对IP4网络有效(
/32
应为最高(且最无用的;))值,并用单个地址描述网络,如网络掩码
255.255.255


/128
对于IP6也是一样的,IP6是一个只有一个地址(=128位固定前缀)的网络。

通过下面的ipconfig输出,我在jdk 1.8/windows 8.1上获得了一些奇怪的prexix长度:

length and ip4 interface address: 24, /192.168.1.104/24 [/192.168.1.255]
length and strange interface address: 64, /fe80:0:0:0:a162:16a3:1dc7:4f98%eth1/64 [null]
length and ip6 interface address: 128, /fe80:0:0:0:0:5efe:c0a8:168%net0/128 [null]
length and ip6 interface address: 128, /fe80:0:0:0:0:5efe:c0a8:12%net1/128 [null]
length and strange interface address: 64, /fe80:0:0:0:8190:5432:56a8:c006%wlan2/64 [null]
length and strange interface address: 64, /fe80:0:0:0:191c:bc6:985d:c0be%wlan3/64 [null]
length and strange interface address: 64, /fe80:0:0:0:29f9:1ede:602f:4530%wlan4/64 [null]
length and strange interface address: 0, /2001:0:5ef5:79fb:3c9f:4a:b354:8e66/0 [null]
length and strange interface address: 32, /fe80:0:0:0:3c9f:4a:b354:8e66%net2/32 [null]
length and strange interface address: 64, /fe80:0:0:0:181f:6633:5212:2f82%eth2/64 [null]
length and strange interface address: 64, /fe80:0:0:0:5df5:554b:5188:d070%eth3/64 [null]
length and ip4 interface address: 24, /192.168.0.18/24 [/192.168.0.255]
length and strange interface address: 64, /fe80:0:0:0:e828:e682:6a93:296d%wlan5/64 [null]



Windows IP Configuration


Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . : 
   Link-local IPv6 Address . . . . . : fe80::e828:e682:6a93:296d%14
   IPv4 Address. . . . . . . . . . . : 192.168.0.18
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.1

Ethernet adapter Ethernet 4:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 

Ethernet adapter Ethernet 3:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 

Wireless LAN adapter Local Area Connection* 4:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 

Wireless LAN adapter Local Area Connection* 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 

Wireless LAN adapter Wi-Fi 3:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . : socal.rr.com
   Link-local IPv6 Address . . . . . : fe80::a162:16a3:1dc7:4f98%3
   IPv4 Address. . . . . . . . . . . : 192.168.1.104
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1

Tunnel adapter isatap.{3ABD909F-0B6E-4DDB-AF74-1B3A98B48A56}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 

Tunnel adapter isatap.socal.rr.com:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : socal.rr.com

Tunnel adapter Teredo Tunneling Pseudo-Interface:

   Connection-specific DNS Suffix  . : 
   IPv6 Address. . . . . . . . . . . : 2001:0:5ef5:79fb:3c9f:4a:b354:8e66
   Link-local IPv6 Address . . . . . : fe80::3c9f:4a:b354:8e66%11
   Default Gateway . . . . . . . . . : ::

您可以发布
ipconfig
(windows)或
ifconfig
(unix)命令返回的内容吗?ipconfig:Google现在返回这个,+1:P