Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Проверка по маске


Автор: TwiSteR 5.6.2006, 10:09
Приветствую уважаемые,

Тут такое дело, необходимо проверить существует ли IP адрес в в такой-то сети. К примеру:
IP - 192.168.0.5
NET - 192.168.0.0/24 

IP - 192.168.1.5
NET - 192.168.1.10/16

Может подскажите куда рыть ?

Добавлено @ 10:22 
Сорь вопрос снимается уже нашёл.

Код

use strict;
use Net::IP::Match::Regexp qw( create_iprange_regexp match_ip );
    
    my $regexp = create_iprange_regexp(
       qw( 192.168.0.0/24 )
    );
    if (match_ip("192.168.0.5", $regexp)) {
       print "ok";
    }
 

Автор: nitr 5.6.2006, 11:54
Можно просто `ping [params] your_testing_ip` ;)
не проще ли ;) ? и везде работать будет... я не видел современ. систем без ping'а ;)   

Автор: TwiSteR 6.6.2006, 07:46
nitr, 
Может я чего-то не догнал, но при чём тут пинг ? 

Автор: nitr 6.6.2006, 09:16
TwiSteR, извини, может я чего-то не догнал... что значит твоё "проверить существует ли IP адрес в в такой-то сети" ? smile 

Автор: igorold 6.6.2006, 09:32
TwiSteR имеет ввиду проверить адрес на существование из скрипта,
nitr, ты имеешь ввиду с консоли ... видимо ..  

Автор: TwiSteR 6.6.2006, 12:24
Я имел виду проверить по маске входит ли айпи в эту сеть, а не на работоспособность хоста или ещё что-то. 

Автор: nitr 6.6.2006, 17:07
Это просто проверка входит ли в этот диапозон smile) а я про "реальное" существование smile)
Хотя пинг не может дать 100%-гарантии, к примеру, из-за "режима невидимости" предостав. фаерволлами smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)