java如何获取子网掩码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何获取子网掩码?相关的知识,希望对你有一定的参考价值。
如题。如何获取子网掩码?别说看文档去,那没有。
参考技术A 要用到JDK6中的InterfaceAddress#getNetworkPrefixLength方法。InetAddress localHost = Inet4Address.getLocalHost();
NetworkInterface networkInterface = NetworkInterface.getByInetAddress(localHost);
for (InterfaceAddress address : networkInterface.getInterfaceAddresses())
System.out.println(address.getNetworkPrefixLength());
典型的IPv4値:
8 (255.0.0.0)、16 (255.255.0.0)、 24 (255.255.255.0)
典型的IPv6 値:
128 (::1/128)
10 (fe80::203:baff:fe27:1243/10)
参考资料:http://jtute.com/java6/0405.html
本回答被提问者采纳如何判断子网掩码是不是合法
192.168.0.1/255.255.255.0
192.168.0.1/255.255.254.0
192.168.0.1/255.192.0.0
192.168.0.1/255.254.254.0
上述给出的ip+子网掩码那个是不合法的?
据我的了解(了解不深,讲错一定指出)子网掩码是有前面连续的1和后面连续的0组成,但有人说前三个都是合法的,我不了解的是192.168.0.1不是c类网吗,c类网的子网掩码的位数不是最多6位吗?也就是说c类网的子网掩码只能从255.255.255.192 到255.255.255.252,怎么255.192.0.0那个也对吗?为什么啊?
还有如果有人知道如何判断子网掩码是否合法的具体方法和事例,请大家麻烦指教我下,谢谢!
你不理解的原因你不了解变长子网掩码(VLSM)和无类域间路由(CIDR)这些概念,去搜索一下你就清楚了。这打破了传统的ABC类IP的概念
参考资料:http://baike.baidu.com/view/878.htm
本回答被提问者采纳以上是关于java如何获取子网掩码?的主要内容,如果未能解决你的问题,请参考以下文章
在 Java 代码中获取错误以查找有关子网和掩码的信息 [重复]