saaremaa Posted August 3, 2014 Как быстро узнать все подсети , например, vkontakte? Может ресурc какой есть под это? Ковырять вручную https://apps.db.ripe.net/search/query.html#resultsAnchor - долго. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Butch3r Posted August 3, 2014 У них свои AS. Дальше через райп Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
saaremaa Posted August 3, 2014 т.е. по-старинке ковырять райп. ок. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted August 3, 2014 whois -i origin AS_VK1 whois -i origin AS_VK2 у них вроде бы 2 AS, номера не помню, сами легко найдёте Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
saaremaa Posted August 3, 2014 s.lobanov, спасибо за подсказку. The RIPE Database whois client has several options... для истории. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
disappointed Posted August 3, 2014 Есть удобный ресурс http://bgp.he.net/search?search%5Bsearch%5D=vkontakte&commit=Search Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
saaremaa Posted August 3, 2014 disappointed, вот прям то что надо. Огромаднейшее спасибо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted August 3, 2014 disappointed saaremaa зачем пользоваться леваком, когда можно делать прямые запросы к первоисточнику, а именно в базам RIR-ов? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
adnull Posted August 3, 2014 Мне тоже удобнее почему-то на bgp.he.net смотреть. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Butch3r Posted August 4, 2014 Мне тоже удобнее почему-то на bgp.he.net смотреть. Вопрос лишь в скорости обновления данных на нём Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
saaremaa Posted August 4, 2014 Когда я был моложе и студентом. Мой зафкаф говорил: "Главное понять что Вы хотите и где взять информацию". Имно bgp.he.net для общего оперативного представления, а детально и более точно можно покопаться и на RIPE. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zhenya` Posted August 4, 2014 иногда еще полезно с wiresharkом посмотреть.. если кэш какой-нить раздает статику.. с чужого блока. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted August 4, 2014 Для автоматизации только первоисточник. for as in AS47542 AS47541 AS28709; do whois -T route -i origin $as|grep route|grep -Po "\d+\.\d+\.\d+\.\d+\/\d+"; done; 95.142.192.0/20 95.142.200.0/21 185.32.248.0/22 87.240.128.0/18 93.186.224.0/21 93.186.232.0/21 95.142.192.0/21 95.213.0.0/18 185.32.248.0/24 185.32.249.0/24 185.32.250.0/24 185.32.251.0/24 95.142.201.0/24 95.142.201.0/26 95.142.201.128/26 95.142.201.192/26 95.142.201.64/26 95.142.202.0/24 95.142.202.128/26 95.142.202.192/26 95.142.202.64/26 95.142.203.0/24 95.142.204.0/24 95.142.206.0/24 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Jaguar77 Posted August 4, 2014 http://netcologne.dl.sourceforge.net/project/whois/whois/3.2.2/whois3-3.2.2.tar.gz Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mcdemon Posted August 5, 2014 что-то тут развели изза пустяка) вот тебе сети вконтакта: 95.213.0.0/18 87.240.128.0/18 185.32.248.0/22 93.186.224.0/20 95.142.192.0/20 взято от сюда: https://stat.ripe.net/widget/announced-prefixes#w.resource=47541 https://stat.ripe.net/widget/announced-prefixes#w.resource=47542 https://stat.ripe.net/widget/announced-prefixes#w.resource=28709 +некоторые подсети сложил в одну (например из двух /21 сделал одну /20) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Butch3r Posted August 5, 2014 что-то тут развели изза пустяка) вот тебе сети вконтакта: 95.213.0.0/18 87.240.128.0/18 185.32.248.0/22 93.186.224.0/20 95.142.192.0/20 взято от сюда: https://stat.ripe.net/widget/announced-prefixes#w.resource=47541 https://stat.ripe.net/widget/announced-prefixes#w.resource=47542 https://stat.ripe.net/widget/announced-prefixes#w.resource=28709 +некоторые подсети сложил в одну (например из двух /21 сделал одну /20) второй пост :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted August 5, 2014 Я через robtex смотрю. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Diman_xxxx Posted August 5, 2014 Если цель была закрыть доступ вконтакт - то как быть с анонимайзерами ??? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mcdemon Posted August 5, 2014 ну тут вообще-то форум провайдеров... так что врятле цель закрывать доступ) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted August 5, 2014 Цель, скорее всего, сделать анлим по полосе до вк Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
saaremaa Posted August 5, 2014 Цель, скорее всего, сделать анлим по полосе до вк да, именно такая цель Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
viver Posted August 5, 2014 Еще у самого VK есть страничка с инфой о сетях: https://vk.com/help.php?page=peering Не знаю, актуальна ли она сейчас. Одно время информация от них и от RIPE расходилась. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
g3fox Posted August 5, 2014 whois -i mnt-by VKONTAKTE-NET-MNT -T route | grep ^route | awk '{print $2}' | ./mergenets 87.240.128.0/18 95.213.0.0/18 95.142.192.0/20 93.186.224.0/20 185.32.248.0/22 Скрипт mergenets написан коллегой, распространяется под лицензией GPL ;) #!/usr/bin/perl # # Принимает на стандартном вводе адреса сетей в формате xx.xx.xx.xx/yy по # одному в строке, и выводит модифицированный список в том же формате. # Полученный список не содержит сети, которые подпадают под более крупные сети в # исходном списке. # # Пустые строки и строки, начинающиеся со знака #, игнорируются. # # Например, если исходный список # # 192.168.136.0/23 # 192.168.0.0/8 # # то в результате получится список из одного адреса 192.168.0.0/8 # # 22.03.2013 ddo use Socket; use Data::Dumper; # Принимает строку в формате xx.xx.xx.xx/yy и возвращает указатель на хэш, # представляющий адрес сети. sub strtonet($) { my ($str) = @_; my %result = (); my ($addr, $mask) = ($str =~ /^\s*([0-9.]+)\/([0-9]+)\s*$/); my $binaddr = inet_aton($addr) or die('Invalid address ' . $addr); $result{'addr'} = unpack('N', $binaddr); $result{'mask'} = int($mask); return \%result; } # Принимает указатель на хэш, представляющий адрес сети, и возвращает строку в # формате xx.xx.xx.xx/yy sub net_to_str($) { my ($net) = @_; my $binaddr = pack('N', $net->{'addr'}); return sprintf("%s/%d", inet_ntoa($binaddr), $net->{'mask'}); } # Возвращает true, если первая сеть содержит вторую сеть. sub net_contains($$) { my ($net, $subnet) = @_; my $result = 0; die("Unsorted nets") if $net->{'mask'} > $subnet->{'mask'}; my $cmpmask = 0xffffffff << (32 - $net->{'mask'}); $result = 1 if ($net->{'addr'} == ($subnet->{'addr'} & $cmpmask)); return $result; } # Возвращает родительскую сеть, если указанные сети являются соседними. Соседние # сети имеют одинаковую маску и могут быть совмещены в единую сеть с маской, # меньшей на единицу. Если указанные сети не являются соседними, возвращает # undef. sub get_parent($$) { my ($net1, $net2) = @_; my $result = undef; # if (net_to_str($net1) =~ /^176.212.48.0\/2[01]$/ && # net_to_str($net2) =~ /^176.212.48.0\/2[01]$/) { # printf(">>> %s %s\n", net_to_str($net1), net_to_str($net2)); # } if ($net1->{'mask'} == $net2->{'mask'}) { my $parent_mask = $net1->{'mask'} - 1; my $cmpmask = 0xffffffff << (32 - $parent_mask); my $parent_addr = $net1->{'addr'} & $cmpmask; if (($net2->{'addr'} & $cmpmask) == $parent_addr) { $result = { 'addr' => $parent_addr, 'mask' => $parent_mask }; } } return $result; } # Принимает в аргументе массив сетей, отсортированных по размеру маски, и # устанавливает в undef его элементы с сетями, входящими в состав других сетей # этого массива. sub merge_subnets($) { my ($nets) = @_; my $result = 0; my $array_len = scalar(@{$nets}); for (my $i = 0; $i < $array_len; $i++) { next if not defined($nets->[$i]->{'addr'}); for (my $j = $i + 1; $j <= $array_len; $j++) { next if not defined($nets->[$j]->{'addr'}); if (net_contains($nets->[$i], $nets->[$j])) { $nets->[$j] = undef; $result ++; } } } # printf(">> merge_subnets: %d\n", $result); return $result; } # Принимает в аргументе массив сетей, отсортированных по размеру маски, и # заменяет в нём сосдение сети более крупными сетями, содержащими их. Возвращает # количество добавленных сетей (это значение равно количеству удалённых пар # соседних сетей). sub merge_neighbours($) { my ($nets) = @_; my $result = 0; my $array_len = scalar(@{$nets}); for (my $i = 0; $i < $array_len; $i++) { next if not defined($nets->[$i]->{'addr'}); for (my $j = $i + 1; $j <= $array_len; $j++) { next if not defined($nets->[$j]->{'addr'}); my $parent_net = get_parent($nets->[$i], $nets->[$j]); if (defined($parent_net)) { $nets->[$i] = $parent_net; $nets->[$j] = undef; $result ++; break; } } } # printf(">> merge_neighbours: %d\n", $result); return $result; } sub test_num($) { my ($arr) = @_; my $result = 0; foreach my $net (@{$arr}) { $result++ if defined($net->{'addr'}); } return $result; } sub main() { my @nets = (); while (<>) { chomp; next if /^\s*$/; next if /^\s*#/; push(@nets, strtonet($_)); } my $modifications = 0; do { $modifications = 0; @nets = sort({ $a->{'mask'} <=> $b->{'mask'} } @nets); $modifications += merge_subnets(\@nets); $modifications += merge_neighbours(\@nets); # printf(">> nets number: %d\n", test_num(\@nets)); } while ($modifications > 0); foreach my $net (@nets) { next if not defined($net->{'addr'}); printf("%s\n", net_to_str($net)); } } main(); Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
No_name Posted August 5, 2014 (edited) А нужно ли при нынешних скоростях на тарифах, делать вообще приоритеты по скорости? Edited August 5, 2014 by Brainiac Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
saaremaa Posted August 5, 2014 А нужно ли при нынешних скоростях на тарифах, делать вообще приоритеты по скорости? В поселках/селах/деревнях. Городские подключения - смысла нет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...