Как на PERL вычислить принадлежность IP адреса без маски к сети из списка вида:
62.102.128.0/17 Russia
62.102.131.0/24 Russia2
62.102.132.0/24 Russia2
62.102.133.0/24 Russia2
62.102.136.0/23 Russia2
62.102.145.0/24 Russia2
62.102.152.0/23 Russia2
62.102.156.0/24 Russia2
62.102.253.0/24 Russia
62.140.248.0/21 Russia
62.141.112.0/20 Russia2
62.141.64.0/18 Russia
62.148.128.0/19 Russia
62.148.224.0/19 Russia2
62.148.224.0/20 Russia2
62.148.240.0/20 Russia2
62.148.254.0/24 Russia2
62.152.192.0/19 RussiaЗаранее благодарен за ссылку или скрипт!
>Как на PERL вычислить принадлежность IP адреса без маски к сети из
Посчитать... А как иначе? Вот тут на сайте вообще для ленивых табличка масок есть. бери и подставляй. А вообще не плохо бы выучить самому.
И скрипт ваяется просто на ура.
Привет,1. Приводим искомый адрес в десятичное число
a.b.c.d -> a*256^3 + b*256^2 + c.256 + d2. То же самое проделываем с каждым сегментом; приводим первый и последний адрес в десятичный вид и храним эти пары в двухмерном массиве (если С) или в двух сопряженных массивам или хэше (если Perl).
3. В цикле сравниваем искомый адрес с началом и концом каждого сегмента; если адрес больше начала и меньше конца сегмента, то попался :)
WWell,