我有一个ipaddress/掩码列表,需要转换为CIDR符号。
例如,需要将12.174.36.240/24转换为12.174.36.0/24或类似于http://www.subnet-calculator.com/cidr.php所做的事情
这怎么能做到呢?
PS:掩码值并不总是24。
发布于 2013-12-13 18:12:15
为了引导您朝着正确的方向前进,请考虑IPv4地址是什么(32位整数)。现在,考虑什么是掩码(在按位操作中使用的位字段)。
在大端系统上取地址127.0.0.1。用十六进制来说,那是0x7f000001。24位掩码是0xffffff00 ( 1位24位,0位8位,总共32位).按位的地址和掩码0x7f000001 & 0xffffff00 = 0x7f000000是CIDR格式。
我让您决定如何最好地解析地址,将IPv4地址转换为其整数形式(和back),并从路由前缀掩码创建一个位掩码,不过我将告诉您,至少有一些用于地址操作的标准函数。
https://stackoverflow.com/questions/20572801
复制相似问题