简体   繁体   中英

Function that return a list of IP addresses for a given IP adress and subnetmask

I need help in writing a function in C/C++ that receives two parameters: IP address and subnetmask .

The function needs to reutrn a list of all IP addresses that are in the associated network.

For example: Given two parameters: IP address = 192.168.33.72 and mask = 255.255.255.192 the function will return a list that contain the IP's 192.168.33.65 to 192.168.33.126.

1) first you can transform the ipaddress and the subnetmask from string format to binary format with inet_pton() .

2) make a check on the subnetmask mask it should be a valid subnet mask

3) get the subnetmask inverse value ( ~subnetmask )

4)

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

    ip = ipaddress & (subnetmask + i);

    //append ip to your ip list

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM