Обработка ИП по диапазону и перевод их в CIDR

Андрей16 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
07.04.2012

Есть список ИП в простом формате, нужно выделить в диапазоне адресса которые совпадают по последнему блоку 192.168.0.ХХХ и если попадаются то присвоить им соответственный диапазон CIDR формат который бы покрыл от первого до последнего вхождения + 1 разрядность выше, но не меньше /24.

Например имеем

187.195.55.245

187.198.130.28

187.198.29.69

187.2.194.43

187.20.154.19

187.204.174.242

187.204.225.239

187.210.71.52

187.210.71.53

187.210.71.54

187.22.56.47

187.35.182.232

187.40.192.23

187.44.71.77

187.66.227.27

187.66.227.227

187.79.93.247

Из них нас интересуют

187.210.71.52

187.210.71.53

187.210.71.54

187.66.227.27

187.66.227.227

Остальне ИП получают хвост /32

обрабатываем оставшиеся

187.210.71.52/30 - 1 (24

187.66.227.27/24 (24==24) => 187.66.227.27/24

В итоге получаем

187.195.55.245/32

187.198.130.28/32

187.198.29.69/32

187.2.194.43/32

187.20.154.19/32

187.204.174.242/32

187.204.225.239/32

187.210.71.52/29

187.22.56.47/32

187.35.182.232/32

187.40.192.23/32

187.44.71.77/32

187.66.227.27/24

187.79.93.247/32

Заявки фрилансеров