Различия

Показаны различия между двумя версиями страницы.


ipcad [2025/07/06 12:39] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== ipcad  (Cisco IP accounting simulator) ======
 +
 +[[out>http://lionet.info/ipcad/|Ipcad]] (Cisco IP accounting simulator) — это программа для учета трафика, которая может вести подсчет несколькими механизмами, например через интерфейсы BPF, libpcap и iptables ULOG.
 +
 +===== Задача =====
 +**Компьютер:**<code>ЦП: Intel Celeron, 900 MHz
 +ОЗУ: 192 Мб (SDRAM)
 +НЖМД: SAMSUNG SP0411N (40 Гб, 7200 RPM, Ultra-ATA/133)
 +OC: FreeBSD 7.2-RELEASE-p4
 +</code>
 +Прозрачный прокси-сервер [[Squid]] со статистикой LightSquid установлен. В лог попадает в основном http-трафик. Ipcad будет собирать статистику, идущем в обход прокси, по другим портам ([[ssh]], [[ftp]], jabber и т.д.) и сбрасывать в лог Squid. Логи Squid разбирает LightSquid.
 +
 +===== Установка ipcad =====
 +<code>
 +> cd /usr/ports/net-mgmt/ipcad
 +> make install clean
 +> echo 'ipcad_enable="YES"' >> /etc/rc.conf
 +> mkdir /var/log/ipcad
 +</code>
 +
 +===== Настройка ipcad =====
 +<code>
 +> ee /usr/local/etc/ipcad.conf
 +# GLOBAL OPTIONS
 +# Опция capture-ports включает/отключает дополнительные поля в статистике, такие как: TCP- и UDP-порты, а также
 +# типы ICMP-пакетов. Однако включение данной опции увеличивает потребление памяти, снижает скорость подсчёта
 +# трафика и в ряде случаев искажает вывод через RSH.
 +
 +capture-ports enable;
 +
 +# INTERFACE OPTIONS
 +
 +interface tun0; # внешний интерфейс
 +interface rl0;  # локальный интерфейс
 +interface rl1;  # локальный интерфейс
 +
 +# Разделять статистику по каждому IP-адресу для подсети 192.168.0.0/24. «aggregate 192.168.0.0/24» указывает
 +# ipcad-диапазон адресов сети. «strip 32» означает, что в статистику необходимо заносить все 32 бита
 +# адреса, принадлежащего данному адресному диапазону
 +aggregate 192.168.0.0/24 strip 32;
 +aggregate 10.90.90.0/24 strip 32;
 +# остальные агрегировать по первым 24 битам
 +aggregate 0.0.0.0/0 strip 24;
 +
 +#aggregate 3128-3128    into 3128;      /* Protect these ports */
 +aggregate 150-1023      into 1023;      /* General low range */
 +aggregate 20-21 into 21;
 +aggregate 22-23 into 22;
 +aggregate 25 into 25;
 +aggregate 80-81 into 0;
 +aggregate 110 into 110;
 +aggregate 443 into 443;
 +aggregate 3128 into 0;
 +
 +# RSH SERVER OPTIONS
 +# Настройки rsh-сервера, с помощью которого будет просматриваться статистика.
 + 
 +rsh enable at 127.0.0.1;
 + 
 +# Правила, указанные ниже, описывают политики доступа к статистике ipcad. Root может полностью управлять
 +# (делать backup, просматривать и изменять таблицы подсчёта). Все остальные могут лишь просматривать статистику
 +rsh root@127.0.0.1 admin;     
 +rsh root@127.0.0.1 backup;    
 +rsh root@127.0.0.1;           
 +rsh 127.0.0.1 view-only;      
 + 
 +# «Время жизни» и тайм-аут IP-пакета
 +rsh ttl = 3;
 +rsh timeout = 30;
 +
 +chroot = /var/log/ipcad;
 +
 +# Опцией dumpfile задаётся путь к файлу, в который по умолчанию будут складываться данные статистики
 +dumpfile = ipcad.dump;
 + 
 +# OTHER OPTIONS
 + 
 +pidfile = ipcad.pid;
 + 
 +# Опция memory_limit задаёт количество памяти для хранения содержимого одного потока данных.
 +# Синтаксис следующий: memory_limit = <количество>[{k|m|e}] ;
 +# где k - Кб; m - Мб; e – количество строк таблицы данных
 +memory_limit = 1m;
 +> /usr/local/etc/rc.d/ipcad start
 +</code>
 +
 +===== Просмотр статистики ipcad =====
 +Для управления статистикой ipcad используется rsh. Общий синтаксис команд для ipcad выглядит следующим образом:
 +<code>
 +rsh host command
 +</code> где 'host' — это хост, на котором ведется статистика, а 'command' — это сама команда. В рассматриваемом случае значением 'host' является localhost. 
 +
 +Полный список команд можно посмотреть по команде rsh localhost help. А именно:
 +<code>
 +show ip accounting - показать статистику
 +clear ip accounting - сбросить статистику до контрольной точки. Если контрольная точка не задана, то статистика сбрасывается в ноль
 +show ip accounting checkpoint - показать статистику сохраненную в контрольных точках
 +clear ip accounting checkpoint - сбросить все контрольные точки
 +show ip cache flow - показать кэш NetFlow
 +show interface <iface> - показать счетчик интерфейса
 +dump [<path>] - сохранить текущую статистику в файл <path>. Если не указывать, то статистика сохранится в dumpfile, указанный в конфигурационном файле ipcad.conf
 +restore [<path>] - восстановить статистику
 +import [<path>] - импортировать (добавить) статистику
 +stat - показать текущее состояние работы ipcad
 +show version - показать версию и uptime ipcad'а
 +shutdown - завершить работу ipcad
 +</code>
 +Скрипт для снятия статистики.
 +<code>
 +> ee ipcadstat.sh
 +#!/bin/sh
 +net="192.168.1"
 +ttime=`/usr/bin/rsh localhost sh ip accounting | grep 'Accounting data saved'|awk '{print ($4)}'`
 +/usr/bin/rsh localhost clear ip accounting
 +/usr/bin/rsh localhost show ip accounting checkpoint | grep $net | awk -v vtime=$ttime '{print (vtime".000",1,$2,"TCP_MISS/200", 
 +$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}'  >>/usr/local/squid/logs/access.log
 +</code>
 +
  

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!