не в тему, но про php & Linux

tony2001

TeaM PHPClub
не в тему, но про php & Linux

Есть проблема.

Стоит на проксе Линух, php, MySQL(к делу не относится, но можно его использовать).

Нужно:
возможность просмотра трафика _сейчас_ (кто канал грузит);
возможность учета трафика;
если бы еще можно было и отрубать юзеров - было бы вообще круто (но это как опция).

Пробовал ловить ответ trafshow - разобрать его сложно сильно =(

Может у кого-то есть решения или идеи куда копать?
 

DiMA

php.spb.ru
Команда форума
У меня есть спец программу для посчета статистики, которая отчеты о каждых прошедших 5 минутах пишет в файлы (ipacsum - название). Но даже если ее нет, то можно сделать только стандарными средсвами ОС: ipchains. Чтобы что-то считать ее надо переодически запускать.. Например, раз в 5 минут или секунд (смотря с какой скоростью надо юзерей вырубать :) А далее, чтобы прикрыть юзера, просто запускаем тот же ipchains с командой приркыть нужный IP адрес.
 

tony2001

TeaM PHPClub
Дело в том, что я уже это предлагал нашему сисадмину.
Он говорит, что ipchains выдает много информации, впрочем как и trafshow - записали в файл то, что он выдает, разобрать это будет сложно =(

Я насчет ipchains не очень в курсе - возможно он выдает ответ попроще...

Насчет вырубания юзеров - то это можно сделать либо из самого php (выполнением соотв. системных функций), либо подладывая записи в MySQL для крутилки на Перле. Только опять же, с моими познаниями в Перле и помощью сисадмина ("разбирайся!") я пока ни до чего не дошел...
 

anight

Новичок
я делаю как раз сейчас нечто подобное
подсчет на nacctd, отрубание опять же ipchains.
nacctd выбран только потому что единственно правильно считает трафик nat.
 

nail

Guest
Ответ ipchains разобрать -- нет проблем
У меня каждый час скрипт на perl'e апдейтит mysql-БД
В БД хранится почасовая статистика за последние сутки и посуточная статистика.
Интерфейс на PHP. Закрыть IP -- тоже php+ipchains.
 

tony2001

TeaM PHPClub
ок, сэнкс!
буду разговаривать с админом, убеждать его что я был не верблюд, когда предложил разбирать ответы ipchains =))
еще раз спасибо.
 

tony2001

TeaM PHPClub
так....

ситуация осложнилась:
у нас маскарадинг стоит, все во внешний мир ходят под одним IP.
соответственно, выбирается любой свободный порт от 1024 до 63565 для отсылки пакета во внешний мир.
 

leosha

Старожил PHPCLub
Гм.. А что, не пишется в логах внутренисетевой адрес клиента кто полез наружу?
 

tony2001

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

Проблема в том, что ipchains'ом можно это сделать, но нужно будет отслеживать пакеты по 65535-ти портам.
Внутрисетевой есть, ipchains дает hostname.

Короче каждый пакет нужно идентифицировать по порту и IP-шнику.
Что скажет ядро, если мы такое ему устроим ?!?

Задача, насколько я понимаю такая:
вести статистику по портам (т.е. 8080 - это прокси, 80 - наш сайт, 21 - почта и т.п.) и IP-шникам.
желательно, конечно, заносить все в MySQL, чтобы потом по-человечески обрабатывать...
 
Сверху