Перейти к содержимому
Калькуляторы

определение AS num по IP

Возможно тема уже обсуждалась, но что-то плохо видимо искал.

требуется быстрый способ определения номера автономки по ипе адресу локально.

 

есть в наличии ipacc с циски за пару недель, хочется посмотреть в какую сторону уходит трафик и в каком объеме.

поскольку это 100+Мбит то статистики много, а хочется чтобы обсчиталась сумма по ас-кам считалась быстрее 24-х часов)

сейчас используется костылявый механизм перебора сетей по текстовому файлику)

может есть какая-то софтинка которая быстро возвращает номер АС-ки по ипешнику?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возможно тема уже обсуждалась, но что-то плохо видимо искал.

требуется быстрый способ определения номера автономки по ипе адресу локально.

 

есть в наличии ipacc с циски за пару недель, хочется посмотреть в какую сторону уходит трафик и в каком объеме.

поскольку это 100+Мбит то статистики много, а хочется чтобы обсчиталась сумма по ас-кам считалась быстрее 24-х часов)

сейчас используется костылявый механизм перебора сетей по текстовому файлику)

может есть какая-то софтинка которая быстро возвращает номер АС-ки по ипешнику?

Ну как я понимаю можно в базу складывать ипы и трафик с них аггрегируя по маске например 24, думаю будет не очень много записей, а потом для первых например 100 записей с наибольшим трафиком и неизвестными автономками запросить номера автономок в райпе, думаю не забанят. так за пару недель сопоставишь основные автономки и перестанешь лазить в райп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Держи базу Райпа :)

ftp://ftp.ripe.net/ripe/dbase/split/ripe.db.route.gz

 

Скрипт написать не проблема к ней

 

Правда тут не все AS. Полный список можно стянуть на BGP пире.

 

вот тут есть некоторые примеры скриптов http://netroad.ru/~xeon/ng_netflow/

Изменено пользователем XeonVs

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Держи базу Райпа :)

ftp://ftp.ripe.net/ripe/dbase/split/ripe.db.route.gz

 

Скрипт написать не проблема к ней

 

Правда тут не все AS. Полный список можно стянуть на BGP пире.

 

вот тут есть некоторые примеры скриптов http://netroad.ru/~xeon/ng_netflow/

так в том то и дело, что сейчас именно по этой базе и работает скриптик:

сначала препарируется база в формат "AS123 1.2.3.0/16"

потом вторым перловым скриптом берется строчка и считается входящий-исходящий ипе. и гоняется по этому массиву)

вот я и задался вопросом: а есть ли более вменяемые алгоритмы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Держи базу Райпа :)

ftp://ftp.ripe.net/ripe/dbase/split/ripe.db.route.gz

 

Скрипт написать не проблема к ней

 

Правда тут не все AS. Полный список можно стянуть на BGP пире.

 

вот тут есть некоторые примеры скриптов http://netroad.ru/~xeon/ng_netflow/

так в том то и дело, что сейчас именно по этой базе и работает скриптик:

сначала препарируется база в формат "AS123 1.2.3.0/16"

потом вторым перловым скриптом берется строчка и считается входящий-исходящий ипе. и гоняется по этому массиву)

вот я и задался вопросом: а есть ли более вменяемые алгоритмы?

наверное нет, разве что ходить на BGP пир и просить show ip bgp <net> bestpath и парсить результат.

 

кстати если хочется смотреть распределение трафика по ASN почему бы не заюзать netflow с заполненными полями и nfdump?

Изменено пользователем XeonVs

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

кстати если хочется смотреть распределение трафика по ASN почему бы не заюзать netflow с заполненными полями и nfdump?
на "бордере" стоит каталист, поэтому статистика в таком виде. умеет ли он отдавать нетфлов еще тот вопрос. даже если и умеет, то бгп на нем поднять для отдачи ас-ок - точно нереально.

отдача контента идет с линухы и венды в количестве 8 серверов, соответственно зоопарк еще тот.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В реалтайме ntop вроде как умеет трафик по AS'кам рисовать.

Но это надо или зеркалировать весь трафик на отдельную машину или както получить netflow.

 

Изменено пользователем goletsa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а как бы математически найти сети /24 в /20,/19....? запихать таблицу в память сетями ц-класса и искать уже в памяти по первым трем циферкам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В коде ipcalc подсмотрен такой код:

 

#IP SUBS
sub aton
{
   my $arg          = shift;
   my $i = 24;
   my $n = 0;

   # dotted decimals
   if    ($arg =~ /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) {
      my @decimals = ($1,$2,$3,$4);
      foreach (@decimals) {
         if ($_ > 255 || $_ < 0) {
            return -1;
         }
         $n += $_ << $i;
         $i -= 8;
      }
      return $n;
   }
}
sub bitcountmaskton
{
   my $bitcountmask = shift;
   my $n;
   for (my $i=0;$i<$bitcountmask;$i++) {
      $n |= 1 << (31-$i);
   }
   return $n;
}

sub networkkey
{
        my ($addr, $mask) = @_;

        my $address = aton($addr);
        my $mask1 = bitcountmaskton($mask);

        return $address & $mask1;
}

на выходе будет простое целое которое представляет сеть.

 

$BGP{networkkey('10.0.0.0', 8)} = 65535;

$BGP{networkkey('192.168.0.0', 16)} = 65535;

 

а уже с хешем делать что захочется, будет весьма быстро. Чтобы хеш не строить каждый раз при запуске скрипта можно сохранить его через DB_File.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

кстати если хочется смотреть распределение трафика по ASN почему бы не заюзать netflow с заполненными полями и nfdump?
на "бордере" стоит каталист, поэтому статистика в таком виде. умеет ли он отдавать нетфлов еще тот вопрос. даже если и умеет, то бгп на нем поднять для отдачи ас-ок - точно нереально.

отдача контента идет с линухы и венды в количестве 8 серверов, соответственно зоопарк еще тот.

Кстати, а что мешает включить в нетфлов origin AS и дальше уже прямо по нему подсчитывать трафик ?
Изменено пользователем Magnum72

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вобщем заинтересовались вопросом, оказалось что больше всего трафика у нас из автономки принадлежащей vkontakte. Надо с них деньги брать начинать за трафик :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Один раз запросить sh ip bgp с бордера, а потом его анализировать. Как советовали выше - можно заранее построить хеш таблицу для скорости обработки. Данный способ еще удобен т.к. зачастую интересен не конечный AS, а AS path.

 

Вобщем заинтересовались вопросом, оказалось что больше всего трафика у нас из автономки принадлежащей vkontakte. Надо с них деньги брать начинать за трафик :)

Надейся, что бы с тебя не захотели брать какие либо деньги :-(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если бы не было вконтактиков и ютубов, тогда вообще многим интернет был бы не нужен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати, а что мешает включить в нетфлов origin AS и дальше уже прямо по нему подсчитывать трафик ?

Мешает требование:

src AS: 0 if BGP-speaking router
dst AS: 0 if BGP-speaking router
src masklen: 0 if BGP-speaking router
dst masklen: 0 if BGP-speaking router

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.