2

以下代码:

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错误吗?

4

3 回答 3

7

也许你遇到了这个错误:http ://bugs.sun.com/view_bug.do?bug_id=6707289

(请停下来投票……这只是 1 google 的距离……)

于 2011-07-12T14:36:57.637 回答
2

至少它对我没有任何意义....../128不能对 IP4 网络有效(/32应该是最高的(也是最没用的;))值并描述具有单个地址的网络,如网络掩码255.255.255.255)。

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

于 2011-07-12T14:40:01.877 回答
1

添加到信息库,使用下面的 ipconfig 输出,我在 jdk 1.8/windows 8.1 上得到了一些奇怪的前缀长度:

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 . . . . . . . . . : ::
于 2017-03-24T20:08:50.167 回答