返回给定IP地址和子网掩码的IP地址列表的函数

时间:2013-11-01 13:52:43

标签: c ip subnet netmask

我需要帮助在C / C ++中编写一个函数,它接收两个参数: IP地址子网掩码

该功能需要重新命名关联网络中所有IP地址的列表。

例如: 给出两个参数: IP地址 = 192.168.33.72和掩码 = 255.255.255.192 该函数将返回一个包含IP 192.168.33.65到192.168.33.126的列表。

1 个答案:

答案 0 :(得分:3)

1)首先,您可以使用ipaddresssubnetmaskinet_pton()从字符串格式转换为二进制格式。

2)检查subnetmask掩码应该是有效的子网掩码

3)获得subnetmask反向值(~subnetmask

4)

for (i=1; i<(~subnetmask); i++) {

    ip = ipaddress & (subnetmask + i);

    //append ip to your ip list

}