ocehb: (Default)
[personal profile] ocehb
rusnet-0.01.tar.gz

Что делает: закачивает с зенона данные по российским сетям, парсит их и локально складывает.
Затем можно использовать для тестирования на принадлежность адреса к россии.
Если чего кому надо -- могу добавить. Первый опыть чисто скриптового perl-модуля.

Необходимы: LWP, Prase::RecDescent, Net::Patricia. Скорострельность на текущей базе порядка 7 70 000 запросов в секунду.

ps. если кто знает деление по другим странам -- сообщите, приделаю :)

Date: 2006-04-04 05:02 pm (UTC)
From: [identity profile] ico.livejournal.com
И что, зенона где-то гарантирует 100% попадание в российский сегмент отдельно взятой сети?

Date: 2006-04-04 05:12 pm (UTC)
From: [identity profile] ico.livejournal.com
Тогда зачем стягивать?
Пишем так:

sub isRussianNet { rand() > 0.5 }

И все нормально! :)

Date: 2006-04-04 05:24 pm (UTC)
From: [identity profile] ico.livejournal.com
Казалось бы, причем тут зенон? :)

Date: 2006-04-04 05:34 pm (UTC)
From: [identity profile] ico.livejournal.com
Ну дык ты на этот вопрос тоже не ответил.

Date: 2006-04-04 05:57 pm (UTC)
From: [identity profile] ico.livejournal.com
Ты пытаешься использовать некие данные для своих целей (ну это ладно) и предлагаешь остальным использовать эти же данные для определения чего-либо, не выяснив, для чего эти данные опубликованы. :) Более того, ты сам ничего никому не гарантируешь. Ну тебе и предложили раз такое дело использовать sub isRussianNet { rand() > 0.5 } :)

ps: А мне вот кажется, что в мире 50% китайских сетей, в моем листе их значительно больше. :)

Date: 2006-04-04 06:32 pm (UTC)
From: [identity profile] ico.livejournal.com
То есть твои слова
"для тестирования на принадлежность адреса к россии"
надо интерпретировать именно так? :)

Date: 2006-04-04 06:45 pm (UTC)
From: [identity profile] jerom.livejournal.com
хм, 7 запросов в секунду??? У меня тысячи при парсинге netflow!

Date: 2006-04-04 06:54 pm (UTC)
From: [identity profile] jerom.livejournal.com
У меня скрипт на перле справляется с тысячами запросов, занимает 30 очень понятных строк и не требует модулей. Показать?

Date: 2006-04-04 07:02 pm (UTC)
From: [identity profile] jerom.livejournal.com
#!/usr/bin/perl -I/home/jerom/rus

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"; }
}
}

Date: 2006-04-04 07:38 pm (UTC)
From: [identity profile] jerom.livejournal.com
А мой вариант?

Date: 2006-04-04 07:39 pm (UTC)
From: [identity profile] jerom.livejournal.com
Мой, правда, не заточен под парсинг миллионов случайных чисел, оно для логов сделано.

Date: 2006-04-04 07:57 pm (UTC)
From: [identity profile] jerom.livejournal.com
прикольно, я думал будет быстрее с &

Profile

ocehb: (Default)
ocehb

January 2021

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 6th, 2026 04:51 pm
Powered by Dreamwidth Studios