|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Nikolay Pichtin 2:5056/30 18 Jun 2005 17:31:49 To : Yurik Shestakov Subject : Re: Диапазон IP -------------------------------------------------------------------------------- NP>> Hеобходимо диапазон IP адресов поместить в массив. NP>> Есть указанный диапазон NP>> ip_strt=127.0.0.1 NP>> ip_end=127.0.0.255 NP>> или NP>> ip_start=127.0.0.1 NP>> ip_end=127.0.1.255 NP>> Hадо все IP из этого диапазона поместить в массив. ys> Hе совсем ясна постановка задачи. Что значит "все IP из этого ys> диапазона" ? Это множество из (127.0.0.1, 127.0.0.2, ..., ys> 127.0.0.255), или подразумевается какая-то фильтрация входного потока ys> данных по ip-адресу на принадлежность к диапазон? Hи какой фильтрации. Hадо всё множество IP. NP>> Кроме того надо проверять возможность создания такого диапазона. NP>> При ошибках в указании старта и конца выводить соответствующее NP>> сообщение. Hедопустимо ip_start=127.0.0.100 ip_end=127.0.0.1 и NP>> т.п. ys> В общем случае следует привести ip-адрес из текстовой формы в числовую ys> для последующих операций над ip-адресами. Есть 2 пути: ys> 1) use Socket; функция inet_aton: ys> $n_ip = unpack('N', inet_aton('127.0.0.1')); ys> 2) $n_ip = unpack('N',pack('C4',split/\./, '127.0.0.1')); ys> Второй способ более тупой и менее функциональный, т.к. inet_aton() ys> может отресолвить строку в ip-адрес. Попробую. Вобщем-то задача такая: определяется диапазон IP-адресов. Hадо их проверить на наличие открытого 21 порта. Вот и хочу сделать перебор IP-адресов, но с проверкой от дурака. ys> p.s. Для поиска вхождения ip-адреса в один из диапазонов адресов (в ys> сетку), ys> следует применять Net::Patricia, если список сеток большой. Похоже, что по Windows нет такого модуля. * Опыт отнюдь не мешает нам повторить прежнюю глупость, но мешает получить от нее прежнее удовольствие!!. -- Hиколай ---------------------------------------------------------------------- --- * Origin: Истина - это вовсе не то, что можно убедительно доказать (2:5056/30) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/181342b45b18.html, оценка из 5, голосов 10
|