Pull to refresh

Проверка вхождения IP адреса в подсеть

Reading time1 min
Views1.6K
В Интернете множество решений данной проблемы, я тоже искал его, но решения мне не нравились своей не производительностью. В языке Perl есть пакет Net::Patricia, который очень эффективно решает данную проблему, метод основан на Patricia Tree.

Установить данный пакет можно через CPAN

perl -MCPAN -e shell
install Net::Patricia

После установки использовать данный пакет можно следующий образом:

#!/usr/bin/perl -w
use Net::Patricia;
# IP tools
my $pt = new Net::Patricia;
$pt->add_string('212.44.12.0/24');
if(defined($pt->match_string('212.44.12.3'))){
print "IN\n";
}else{
print "OUT\n";
}
Tags:
Hubs:
Total votes 19: ↑13 and ↓6+7
Comments22

Articles