Возможно вы искали: 'TV Sports: Basketball'

May 15 2025 17:55:03
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Построение системы учета трафика для маршрутизаторов CISCO (freebsd cisco traffic statistic mysql)

Построение системы учета трафика для маршрутизаторов CISCO (freebsd cisco traffic statistic mysql)

Ключевые слова: freebsd, cisco, traffic, statistic, mysql, (найти похожие документы)

From: Дмитрий Новиков <dmn@nnz.ru>
Newsgroups: http://www.artmagic.ru/labs/
Date: Mon, 4 Dec 2002 13:01:37 +0000 (UTC)
Subject: Построение системы учета трафика для маршрутизаторов CISCO

Оригинал: http://www.artmagic.ru/labs/cisco.shtml

Система учета трафика для маршрутизаторов CISCO

Вступление

Довольно часто качестве Интернет-маршрутизаторов применяются
аппаратные маршрутизаторы CISCO, которые являются стандартом de facto
для организации соединения по синхронным каналам передачи данных. При
этом в операционной системе маршрутизатора (IOS) заложены все
необходимые свойства для вывода сети в Интернет (NAT, FIREWALL,
routing).

Настроенный маршрутизатор очень стабилен в работе (как аппаратно, так
и программно) и практически не требует внимания - именно поэтому
CISCO-маршрутизаторы занимают стабильное первое место среди аппаратных
решениях доступа к Интернет.

После установки и настройки маршрутизатора, естественной задачей
является подсчет трафика, проходящего через него. И тут возникают
некоторые проблемы, т.к. фирменное ПО менеджмента трафика от CISCO
очень дорогое и покупка его экономически не оправдана, но, с другой
стороны, оставаться совсем без учета трафика также очень опасно.

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

Исходные данные
* Синхронный Интернет-канал;
* CISCO 2611, IOS 12
* Внутренняя сеть, подключенная через роутер


Задача

Поствалена задача осуществить подсчёт траффика проходящего через
роутер Cisco, не применяя коммерческих средств учета трафика.

Необходимые инструменты

Для ведения статистики по трафику понадобятся следующие инструменты:
* SQL-сервер. Для "складирования". В принципе подойдет любой. В
нашем примере это MySQL
* Рабочая станция, на которой работает Perl, команда rsh, и которая
умеет запускать процессы по расписанию. Для этих целей идеально
подходит любой UNIX-сервер (мы использовали FreeBSD 4.4). В
принципе нет особенных препятсвий реализовать систему на
Windiws-сервере - но понадобиться дополнительное программное
обеспечение (аналог rsh, Active State perl).

Решение

Поставим конкретную задачу: даны локальные сети 10.120.0.0/16 и
10.6.0.0/16, подключенные к Интернет через маршрутизатор Cisco.
Необходимо представить отчет по траффику в Интернет каждой рабочей
станции локальных сетей.

Конфигурация маршрутизатора

1. Конфигурируем интерфейсы

Для начала надо сконфигурировать маршрутизатор для отображения текущих
соединений и количества пакетов.

Для интерфейса Serial0/0 нужно выполнить такие команды:

>conf t
>int Serial0/0
>ip accounting output-packets

2. Смотрим статистику на маршрутизаторе

Теперь маршрутизатор будет собирать исходящие пакеты с этого
интерфейса, информацию о которых можно смотреть командой sh ip
accounting
Результатом будет таблица пар
<источник>
<приемник>
<кол-во пакетов>
<количество байт>

Source
195.131.0.250
64.12.24.130
63.236.41.114
195.161.113.76
195.131.31.3
195.131.0.250 Destination
62.118.249.10
10.128.95.2
195.131.31.213
195.131.31.3
195.161.113.76
64.154.80.51

Packets
3403
450
5216
44
61
58

Bytes
219250
89292
598654
16280
5827
9650


.
.
.
195.151.246.5 64.12.174.185

4188

377781


217.146.192.41 195.131.31.3

14634

5449030


195.131.31.3 217.146.192.41

20285

1907788


Для того, чтобы обнулить таблицу с трафиком необходимо выполнить
команду clear ip accounting

3. Настраиваем удаленное выполнение команд на маршрутизаторе

Изменения в конфигурации роутера для удалённого получения статистики
(удалённого выполнения комманд)

>conf t

# Разрешаем выполнять удалённые комманды
>ip rcmd rsh-enable

# Пользователь traffic с хоста 10.58.0.2, локальный пользователь root
имеет уровень привилегий 8
>ip rcmd remote-host traffic 10.58.0.2 root enable 8

# Разрешить уровню привилегий 8 выполнять следующие комманды

# обнулять статистику
>privilege exec level 8 clear ip accounting

# собирать статистику
>privilege exec level 8 show ip accounting

Пример успешного выполнения удалённой комманды на маршрутизаторе (с
адресом 10.58.0.1) с UNIX-компьютера:

su-2.05# rsh -l traffic 10.58.0.1 sh ip accounting | more
<источник>
<приемник>
<кол-во пакетов>
<количество байт>

Source
195.131.0.250
64.12.24.130
63.236.41.114
195.161.113.76
195.131.31.3
195.131.0.250 Destination
62.118.249.10
10.128.95.2
195.131.31.213
195.131.31.3
195.161.113.76
64.154.80.51

Packets
3403
450
5216
44
61
58

Bytes
219250
89292
598654
16280
5827
9650


.
.
.
195.151.246.5 64.12.174.185

4188

377781


217.146.192.41 195.131.31.3

14634

5449030


195.131.31.3 217.146.192.41

20285

1907788


Accounting data age is 03:12
Accounting threshold exceeded for 5016149 packets and 1936384303 bytes
Su-2.05#
PS. Как видно, ip accounting не дает информации о портах соединения.

Теперь этими данными можно пользоваться для "складирования" статистики
куда-либо. В принципе можно хранить статичтику и в текстовых или
бинарных файлах, но мы решили сохранять данные в БД SQL.

Получение статистики с роутера

Для того, чтобы складировать статистику, мы применяли язык Perl и
стандартные библиотеки DBI для работы с базами данных.

1. Структура таблиц.

Мы создали 2 таблицы: таблица описания маршрутизаторов и таблица
хранения данных по трафику:
1. Список маршрутизаторов
#
# Table structure for table 'routers'
#
CREATE TABLE routers (
ID int(10) unsigned NOT NULL auto_increment, ; Идентификатор
Name varchar(100) NOT NULL default '', ; Имя
IP varchar(15) NOT NULL default '', ; IP-адрес
PRIMARY KEY (ID)
) TYPE=MyISAM;

2. Хранение статистики
#
# Table structure for table 'traffic'
#
CREATE TABLE traffic (
ID int(10) unsigned NOT NULL auto_increment,
Day datetime NOT NULL default '0000-00-00 00:00:00',
FromIP varchar(15) NOT NULL default '',
SPort int(10) unsigned NOT NULL default '0',
X12 varchar(7) NOT NULL default '',
X3 int(10) unsigned NOT NULL default '0',
X4 int(10) unsigned NOT NULL default '0',
DPort int(10) unsigned NOT NULL default '0',
Bytes int(10) unsigned NOT NULL default '0',
IFace varchar(20) NOT NULL default '',
RouterID int(10) unsigned NOT NULL default '0',
PRIMARY KEY (ID)
) TYPE=MyISAM;

Адреса сети разбиты на 3 части, для того, чтобы было удобнее считать
трафик:
Например, адрес 10.128.1.2 записываем в таблицу так:
X12=10.128
X3=1
X2=2


2. Сохранение данных

Скрипт для получения статистики с роутера и помещения в базу данных.
Для реализации скрипта нужно уметь делать стандартные операции с SQL
базой (получить, вставить, удалить, изменить данные и т.п.). Для
различных платформ реализации разные, поэтому описания самого
механизма выполнения SQL-запросов через Perl мы не приводим. Мы
пользовались интерфейсом DBI.

#!/usr/bin/perl

# Стандартная библиотека работы с базой данных в ней процедуры
Connect, Select, Exec, Insert,
# Delete, Update
require '/usr/local/traffic/lib/DB2.pl';

Connect('TrafficBase', '10.128.1.43', 'root', '');

# С каких роутеров собирать статистику - ip - ID в таблице роутеров
$Routers{'10.58.0.1'} = 1;
$Routers{'10.55.3.1'} = 3;

foreach $ip (keys %Routers) {

# Получаем данные с маршрутизатора
@Stat = split(/n/, `/usr/bin/rsh -l traffic $ip sh ip accounting`);

@AD = localtime;

$Date = sprintf("%4d-%02d-%02d %02d:%02d:%02d", $AD[5] + 1900, $AD[4]
+ 1, $AD[3],
$AD[2], $AD[1], $AD[0]);

foreach $s (@Stat) {
if ($s !~ /^sd{1,3}./) { next; } # Игнорируем заголовок и Summary
$s =~ s/^s+//;
$s =~ s/s+/ /g;
my @Row = split (/ /, $s);
my @Dst = split (/./, $Row[1]);

# Записываем в базу данные по трафику
Insert('Traffic', "'', '$Date', '$Row[0]', '0', '$Dst[0].$Dst[1]',
$Dst[2], $Dst[3], '0', $Row[3], '', $Routers{$ip}");
}

# Очищаем таблицу статистики в маршрутизаторе
`/usr/bin/rsh -l traffic $ip clear ip accounting`
}

3. Запускаем механизм периодического сохранения статистики

В зависимости от платформы реализация может быть разная. Мы
использовали встроенный в UNIX механизм периодического запуска
процессов "cron".

Итак, по крону выполняем скрипт чтобы получать статистику каждые 4
часа. Данный период определяется соотнешением объёма оперативной
памяти роутера и проходящего траффика, чем больше траффик, тем больше
размер таблицы статистики, тем чаще необходимо снимать данные.

crontab -e

# Get 1IP Accounting
0 0-23/4 * * * /usr/local/traffic/IPAccounting.pl

Теперь в базу данных будут вставляться записи вида:

# Dumping data for table 'traffic'
#
INSERT INTO traffic VALUES (1,'2002-07-31
15:28:56','212.176.251.1',0,'193.232',242,69,0,1597,'',1);

INSERT INTO traffic VALUES (2,'2002-07-31
15:28:56','212.176.251.1',0,'216.33',42,76,0,58,'',1);

INSERT INTO traffic VALUES (3,'2002-07-31
15:28:56','195.151.246.5',0,'194.67',45,8,0,270,'',1);

INSERT INTO traffic VALUES (4,'2002-07-31
15:28:56','195.131.31.134',0,'62.118',138,31,0,2135,'',1);
INSERT INTO traffic VALUES (5,'2002-07-31
15:28:56','212.176.251.1',0,'216.33',42,72,0,1269,'',1);
INSERT INTO traffic VALUES (6,'2002-07-31
15:28:56','195.151.246.5',0,'159.153',254,89,0,5873,'',1);
INSERT INTO traffic VALUES (7,'2002-07-31
15:28:56','195.131.0.250',0,'205.188',9,197,0,79,'',1);

Получение данных из базы и подсчёт траффика
Программы выборки трафика могут быть самыми различными. По сути, нужно
правильно сформировать запрос в базу и обработать полученные данные.
Для примера приведем скрипт, формирующий отчет за некоторый период в
виде cvs файла.

Скрипт выборки из быза данных основывается на формировании запроса
вида (для траффика сети 10.120)
Весь траффик у которого адрес назначения - сеть 10.120 (x12='10.120')
и при этом адрес отправителя не сети 10.128 или 10.6 - это
интересующий интернет траффик.

require 'DB.pl';

# Задаем начальные параметры выборки
$StartDate = '2002-09-10 00:00:00';
$EndDate = '2002-09-30 00:00:00';
$Router = 3;
$Net = '10.6';
$NotNet = '10.120';

# Выполняем выборку из базы
$sth = Select('Traffic', 'day, fromip, x4, bytes', "fromip not like
'10.128.%' and fromip not like '$NotNet.%' and x12='$Net' and day >
'$StartDate' and day < '$EndDate' and routerid=$Router order by day,
bytes");
while (@res = $sth->fetchrow) {
#print "$res[0] $res[1] $res[2] $res[3]n";
$Sum{$res[2]} += $res[3];
}

foreach $ip (sort {$a <=> $b} keys %Sum) {
$Sum{$ip} = $Sum{$ip}/1E6;
$S += $Sum{$ip};
$Sum{$ip} =~ s/./,/;
printf ("$Net.0.%d;%s;n", $ip, $Sum{$ip});
}

print "-------------------------------n";
$S =~ s/./,/;
printf ("Total;%s;n", $S);

Результат работы скрипта - cvs файл
10.6.0.2;2,50131;
10.6.0.4;0,190212;
10.6.0.5;1,97279;
10.6.0.6;14,875368;
.
.
.
10.6.0.103;74,21923;
10.6.0.104;14,346887;
10.6.0.105;2,884767;
10.6.0.106;1,04632;
10.6.0.110;1,867212;
10.6.0.112;1,327554;
10.6.0.151;8,126519;
10.6.0.152;3,669052;
10.6.0.153;0,625454;
10.6.0.154;3,835585;
10.6.0.155;2,207297;
10.6.0.157;4,4e-005;
10.6.0.201;130,717364;
-------------------------------
Total;1041,25119;

Ссылки:

1. О маршрутизаторах CISCO можно прочитать по адресу: http://www.cisco.ru,
http://www.cisco.com
2. MySQL Server: http://www.mysql.org
3. Perl включен в комплект любой UNIX-системы. Для Windows Perl можно
скачать с сайта www.activestate.ru.
4. Набор UNIX-утилит для Windows: http://www.cygwin.com.

Примечания

1. Нами реализована система на Cisco 2611, UNIX-сервере под
управлением FreeBSD 4.4, MySQL сервере. Система успешно работает около
3-х месяцев.

2. Отсутвсует ротация данных. За 2 месяца было собрано 266000 записей
в таблице траффика.

3. Нет возможности (или она ещё не изучена) получения статистики по
конкретному интерфейсу, что позволило-бы получать более точные даные о
траффике (например исключить запросы в сеть 195.131.31.0/24)? И
упростить форму запроса в базу данных.

Несмотря на недостатки, описанный способ вполне решает поставленную
задачу.
822 Прочтений •  [Построение системы учета трафика для маршрутизаторов CISCO (freebsd cisco traffic statistic mysql)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Построение системы учета трафика дл... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка