返回给定IP地址和子网掩码的IP地址列表的函数
我需要帮助在C / C ++中编写一个函数,它接收两个参数: IP地址和子网掩码 。
该function需要重新计算关联网络中所有IP地址的列表。
例如:给定两个参数: IP地址 = 192.168.33.72和掩码 = 255.255.255.192,该函数将返回包含IP的192.168.33.65到192.168.33.126的列表。
1)首先,您可以使用inet_pton()
将ipaddress
和subnetmask
从字符串格式转换为二进制格式。
2)检查subnetmask
掩码应该是有效的子网掩码
3)获取subnetmask
反向值( ~subnetmask
)
4)
for (i=1; i<(~subnetmask); i++) { ip = ipaddress & (subnetmask + i); //append ip to your ip list }