rusnet-0.01.tar.gz
Что делает: закачивает с зенона данные по российским сетям, парсит их и локально складывает.
Затем можно использовать для тестирования на принадлежность адреса к россии.
Если чего кому надо -- могу добавить. Первый опыть чисто скриптового perl-модуля.
Необходимы: LWP, Prase::RecDescent, Net::Patricia. Скорострельность на текущей базе порядка7 70 000 запросов в секунду.
ps. если кто знает деление по другим странам -- сообщите, приделаю :)
Что делает: закачивает с зенона данные по российским сетям, парсит их и локально складывает.
Затем можно использовать для тестирования на принадлежность адреса к россии.
Если чего кому надо -- могу добавить. Первый опыть чисто скриптового perl-модуля.
Необходимы: LWP, Prase::RecDescent, Net::Patricia. Скорострельность на текущей базе порядка
ps. если кто знает деление по другим странам -- сообщите, приделаю :)
no subject
Date: 2006-04-04 05:02 pm (UTC)no subject
Date: 2006-04-04 05:08 pm (UTC)no subject
Date: 2006-04-04 05:12 pm (UTC)Пишем так:
sub isRussianNet { rand() > 0.5 }
И все нормально! :)
no subject
Date: 2006-04-04 05:18 pm (UTC)no subject
Date: 2006-04-04 05:24 pm (UTC)no subject
Date: 2006-04-04 05:27 pm (UTC)no subject
Date: 2006-04-04 05:34 pm (UTC)no subject
Date: 2006-04-04 05:44 pm (UTC)кстати, российских сетей в мире ~50%? я правильно понял? :)
no subject
Date: 2006-04-04 05:57 pm (UTC)ps: А мне вот кажется, что в мире 50% китайских сетей, в моем листе их значительно больше. :)
no subject
Date: 2006-04-04 06:29 pm (UTC)как я могу гарантировать правильность неизвестных данных, кроме как http://www.zenon.net/support/0578.html ссылаясь.
скорее "смотрите, какой прикольный скрипт" :)
no subject
Date: 2006-04-04 06:32 pm (UTC)"для тестирования на принадлежность адреса к россии"
надо интерпретировать именно так? :)
no subject
Date: 2006-04-04 06:39 pm (UTC)no subject
Date: 2006-04-04 06:45 pm (UTC)no subject
Date: 2006-04-04 06:50 pm (UTC)no subject
Date: 2006-04-04 06:54 pm (UTC)no subject
Date: 2006-04-04 06:56 pm (UTC)no subject
Date: 2006-04-04 07:02 pm (UTC)use IPc;
use Socket;
while( $name = <STDIN> ) {
@ip = ();
chomp $name;
if($name =~ /^(q|quit|exit|logout|stop|finish)$/i) { exit; }
if($name =~ /^\d+\.\d+\.\d+\.\d+$/) { $ip[4] = inet_aton($name); }
else { @ip = gethostbyname("$name"); }
for$ip(@ip[4..$#ip]) {
$ip = inet_ntoa($ip);
$zone = &compare($ip);
if($zone == 0) { print "$ip\tis local or free IP\tisrus\n"; }
if($zone == 1) { print "$ip\tis NON-RUSSIAN IP\tNONRUS\n"; }
}
}
no subject
Date: 2006-04-04 07:20 pm (UTC)no subject
Date: 2006-04-04 07:34 pm (UTC)скрипт:
в общем, я даже знаю, где я напортаюил в цифрах, 7 в секунду, это было по 10 000 сравнений :)
no subject
Date: 2006-04-04 07:34 pm (UTC)no subject
Date: 2006-04-04 07:38 pm (UTC)no subject
Date: 2006-04-04 07:39 pm (UTC)no subject
Date: 2006-04-04 07:44 pm (UTC)no subject
Date: 2006-04-04 07:45 pm (UTC)no subject
Date: 2006-04-04 07:46 pm (UTC)кеширование приделывается 2 строчками :)
no subject
Date: 2006-04-04 07:57 pm (UTC)no subject
Date: 2006-04-04 08:07 pm (UTC)по первому:
быстее, но не на много.
а вообще, у Net::Patricia используется библиотека патриции, сильно ускоряет по сравнению с чистым перлом.