Ru-Board.club
← Вернуться в раздел «Программы»

» TIspd утилита к Traffic Inspector

Автор: GuestABC
Дата сообщения: 20.02.2007 20:16
Утилита для работы с сервером ТИ. Основные возможности:
- автоматическая регулировка ширины канала по различным алгоритмам. Напр., деление всего канала между активными пользователями, отдача "свободного" канала назначенному пользователю...
- деление канала между активными пользователями с использованием весовых коеффициентов
- объединение пользователей в группы, с указанием % от канала, распределяемого по группе
- режим больше траффик - меньше скорость.
- возможность установки ограничения ширины канала для пользователя
- мониторинг активности пользователей: Баланс, траффик, скорость, IP адрес, время последней активности...
Написана на C++. Использует документированные ф-ции работы с ТИ. Может управлять Траффик Инспектором как на локальной машине, так и по сети.
Распостраняется бесплатно. Разрабатывалась для личного пользования. Автор не обязуется осуществлять тех. поддержку и не несет никакой ответственности за последствия использования данной программы. Если программа кому-то будет полезна, буду рад. В этот топик можно писать отзывы и пожелания о дальнейшем развитии. При наличии просьб и свободного времени, постараюсь помочь. В случае необходимости, можно обращаться на e-mail, указанный в программе.
Финальная вер.1.072 Страница загрузки http://yuri-ua.narod.ru/downloadtispd.html
Описание вер. 1.03 http://yuri-ua.narod.ru/tispddoc/index.html
Обсуждение Траффик Инспектора http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=10611&start=0
Автор: Anti4itBIT
Дата сообщения: 20.02.2007 20:46
ПМкой кинул тест последней версии
Автор: formula951
Дата сообщения: 22.02.2007 04:45
Сначала доброго времени суток и спасибо за прогу.
Теперь к теме, программа честно делит канал между всеми/активными пользователями, что может не совсем правильно. Почему? У некоторых пользователей стоит аська, которая потребляет допустим 1к, а пользователю прога выделяет 50 к (к примеру), т.е. 49 к остаются не востребованными и получаем что общий канал загружен не полностью. Глянул в ТИ загруженность канала – составила примерно 1/3. В настройках установил проги установил что общий канал больше в 2,5 раза, загрузка общего канала возросла, т.е. КПД использования увеличилось. Идея понятна, как бы ее реализовать?
Автор: X0E2003
Дата сообщения: 22.02.2007 06:16
Может внести в прогу такие параметры:
минимальная скорость
и гарантированая скорость

Для примера введем в
Мин. скорость: 5kb
Max. скорость: 50kb

То есть если скорость скажем в мин. не привышала 5кб., то пользователь будет отъедать от трафика только 5кб., но если он вообще не использует, то весь его трафик передаётся другому. Также это может помочь, если пользователь ничего не качает, а только бороздит по просторам HTTP, ICQ, Email и т.д. Скажем если он чего-нибудь захотел скачать, то тут уже начинает работать Макс. скорость.
Автор: formula951
Дата сообщения: 22.02.2007 06:26
Max. скорость - будет динамической, а минимальная должна как то определяться, т.е. аська жрет 1к, а yahoo агент 2к, mail агент 3ка (это так для примера), т.е. надо вычислить минимальную - 5 к для тех у кого mail.ru и yahoo, а 1к у кого аська

Добавлено:
Да и еще свои 5 копеек чего не хватает
1. Импорт пользователей и групп автоматом с траффика.
2. Прикольно было бы посмотреть куда пользователь прет не только по ip, а на какие сайты, т.е. рядом с пользователем в 1 поле стоит "+", развернув который можно посмотреть на какие сайты он ломиться
3. про макс канал, нужен для тех кто заражен червями, троянами, т.е. вручную задать макс, что бы шейпер не выделял ему динамически и пользователь не расходовал траффик

PS еще раз спасибо за прогу
Автор: GuestABC
Дата сообщения: 22.02.2007 10:21
Спасибо за отзывы.
1. Идея понятна. Думаю ввести параметр - если траффик пользователя за единицу времени не превышает % (напр 20%) от максимально для него разрешенного, то пользователь "слабоактивен", те 80% что он однозначно не использует, делить между действительно активными. А вот ужимать малоактивного пользователя думаю не стоит. Зачем ограничивать того, кто и так не использует свое?
Т.е. принцип такой: Канал 300к.
Коля 100 Петя 100 Вася 100. Если Вася реально выкачивает напр. <20% , то ставим ограничение: Коля 140 Петя 140 Вася 100) (хотя канал 300). Если Вася начнет качать, он станет активным и для всех юзеров пропишутся ограничения 100 100 100.
Думаю все это проделать только с входяхим каналом, исходящий оставить как было.
2. Если надо, введу ограничение на макс. для каждого юзера. На мин, учитывая п.1, думаю не обязательно. Но это надо собраться, чтоб интерфейс в добавления юзеров переделать...
Реализовывать пока не начал, так что можно покритиковать .
Список юзеров и адреса прикольно, но трудно сказать, будет ли.
Автор: ZeroCOOLMSK
Дата сообщения: 22.02.2007 10:21
Огромное спасибо за данную софтинку, вот ъотел выразить несколько пожеланий, 1 Хотелось бы что бы юзеры из домена добавлялись без проблем, просто в формате DOMAIN\Имя_Юзера_по_русски вариант не катит, так как после рестарта проги имя пользователя на рус языке превращаеться в корявки. вышел из ситуации добовлением идентификатора пользователя из users.ini , вместо имени . и 2 хотелось бы что бы данный сабж мог запускаться в качестве службы, я пытался пихнуть в шедулер, и активировать при загрузке компа, но прога просто висит в процессах сисетемы и ничего не делает, та же самая ситуация когда пытаешься превратить её в службу средствами мелкомягких ... Удачи!! прога всё равно прикольная и нужная!! Автору РЕСПЕКТ!!!!!
Автор: GuestABC
Дата сообщения: 22.02.2007 10:40
ZeroCOOLMSK Русс наверное в ????????? превращается. Похоже я UNICODE не корректно сохраняю. Постараюсь исправить. Ради интереса, попробуйте прописать в .cfg юзера руками (исправить ???? на норм. буквы . .cfg - файл текстовый, можно аккуратно редактировать.
Насчет службы, жаль что я сразу при проектировании об этом не подумал. Поэкспериментирую с автозагрузкой при старте. Пока можно как компромис поставить автовход в систему, tispd + батник блокировки системы поставить в автозагрузку. Конечно, не супер, но как вариант.

Добавлено:
Свежая вер. Можно потестить...

Цитата:
Что нового в Вер. 1.058:
Исправлено:
- некорректное сохранение/загрузка файлов, содержащих русс. буквы. Теперь нормально работает с русскими именами пользователей
Добавлено:
- Режим отслеживания слабоактивных пользователей. (на стадии тестирования) Если Траффик в сек. для юзера меньше указанного (0-режим отключен), пользователь считается малоактивным,
    при делении канала поровну, его канал делится между остальными пользователями. При этом, ограничение ему не ставится, так как он итак малоактивный.
Например:
Канал 300к.
Коля 100 Петя 100 Вася 100.
Если Вася реально выкачивает напр. <2кбит/с (настр.), то ставим ограничение:
Коля 149 Петя 149, Васю не трогаем - 100) (хотя канал 300).
Если Вася начнет качать, он станет активным и для всех юзеров пропишутся ограничения 100 100 100.
- Строка состояния, отображающая кол-во уснувших, малоакт. пользователей и ширину канала.
- Просмотрщик лог файла (кнопка - лог)
Автор: Anti4itBIT
Дата сообщения: 22.02.2007 18:52
Ты на свой сайт залил, а то у мну там посл фаил 1,053
Потестить хочу уже...
Автор: GuestABC
Дата сообщения: 22.02.2007 19:49
Anti4itBIT да, как написал, так и залил. Все там же 1.058 http://people.overclockers.ru/Yuri/files
Автор: Anti4itBIT
Дата сообщения: 22.02.2007 20:35
Заметил пару особенностей:
Если скорость обновления(блокировки) информационных потоков пользователей происходит чаще чем примерно 1,5с, то блокировка срабатывает не всегда корректно в том плане, что ТИ неуспевает нормально управлять каналом - пользователь неуспевает набирать скорость и сбрасывать.

Так же в шапке программы имеются данные о пользователях общем, спящем, слабо активном... но чаще требуется информация о Активных и Малоактивных. Активных пользователей чтобы посчитать - приходится успевать производить в уме несложные математические операции, но все равно не оч удобно.

Так же при 2-ойном клике на поле реализована возможность скрывать неавторизованных пользователей - это плюс. Но есть пользователи, которые авторизируются по MAC, и в ТИ они считаются постоянно авторизованными. Если есть возможность добавить в настройки удалять из таблицы по неактивности в 20сек(пример), то было бы неплохо.

Приятно было бы видеть возможность работы программы в 2-х режимах - кбит/с | кбайт/с
Это можно реализовать с помощью переменной, которая будет участвовать во всех выводах информации, если выбран режим кбит/с, то в переменной будет 1, если кбайт/с, то там будет 10, и соответственно эта переменная будет при выводе делить все результаты подсчетов.(насчет числа 10 мог и ошибится, но в нете вроде бы именно так 1байт = 10битам)... это канечно не основа, но приятное оформление.

При тестировании версии 1,058 багов или каких-либо ошибок пока не нашел.
Добавленная функция "слабоактивности пользователей" просто СУПЕР. Хотя размер канала остальным пользователем не всегда правильно дораздает. И странно определяет малоактивность... 3-ем малоактивным пользователям раздает совершенно разные ограничения входящего трафика, которые пока ни с чем связать не могу. Так как указано было вроде 1 значение(15кбит/с), все эти пользователи имеют скорость ниже ее, и ограничения у всех разные. Хотелось бы узнать поточнее алгоритм выделения на клиентов скорости при их малоактивности.
Еще раз спасибо автору. Модуль действительно уже становится серьездным и конкурентно способным.
Автор: GuestABC
Дата сообщения: 22.02.2007 21:01

Цитата:
Хотелось бы узнать поточнее алгоритм выделения на клиентов скорости при их малоактивности.
Я их протсто не трогаю. Если ограничение канала у них > указанного в настройках параметра, отвечающего за определение "малоактивности" то пусть себе живут повторю пример:

Цитата:
Канал 300к. Коля 100 Петя 100 Вася 100.
Если Вася реально выкачивает напр. <2кбит/с (настр.), то ставим ограничение:
Коля 149 Петя 149, Васю не трогаем - 100) (хотя канал 300).
Т.е. у малоактивного пользователя овтается то ограничение, при котором он стал "малоактивным". Если 2 малоактивных, у одного ограничение 15к у другого 20к а реально они сейчас используют меньше чем 2к, то им все равно, какое у них там ограничение. Канал они не просаживают, а при расчетах, считаем что у них 2к. Посмотри на пример. В разультате получится: Коля 149 + Петя 149, + Васю не трогаем - 100 = 398 (из 300 возможных) Но ведь Вася использует меньше 2 из 100, т.е. реально 149+149+2=300.

Цитата:
Если скорость обновления(блокировки) информационных потоков пользователей происходит чаще чем примерно 1,5с, то блокировка срабатывает не всегда корректно в том плане, что ТИ неуспевает нормально управлять каналом - пользователь неуспевает набирать скорость и сбрасывать.
Если использовать режим "малоактивных", ИМНО слишком маленькая паза приведет к постоянным изменениям ограничения, думаю этьо лишнее... Но подбирать надо, как лучше. Ведь даже при открытии страничек, реальная скорость не постоянна - всегда есть скачки. Чтоб прога не меняла все время статус юзера, есть смысл выставить разумный промежуток и не занижать порог определения "малоактивных".

Цитата:
чаще требуется информация о Активных и Малоактивных
просто я их не считаю в проге, это еще и зависит от опций. Пока у меня активные, это либо все авторизированные, либо все авторизированные кто не спит (малоактивные, это тоже активные) вот и не вывожу их. Хотя, добавлю как-то, когда буду кБайт/с добавлять

Цитата:
при 2-ойном клике на поле реализована возможность скрывать неавторизованных пользователей - это плюс. Но есть пользователи, которые авторизируются по MAC

ну тогда, может прятать всех кто спит. Будут только активные. Правда мигать будут, если время малое. Подумаю...
Кстати, известно, что ТИ неточно откалиброван, т.е. 128к ограничение это не 128к реальных. Так что, кто пользуется, есть смысл указывать не реальную ширину канала, а немного больше чем есть на самом деле. Тут уж подбирать надо и мерять. В любом случае, главная задача, чтоб кто-то канал не положил, и более-менее норм. этот канал разделялся.
Автор: ZeroCOOLMSK
Дата сообщения: 24.02.2007 15:47
GuestABC пытался прописать в конфиге, результат тот же...., по поводу "tispd + батник блокировки системы" как раз вот так щас и работатет, но всё равно не хотелось бы на этом останавливаться, так как много лишних процессов висит которые загружаються при логине юзера.... хотелось бы запускать как службу )
Автор: GuestABC
Дата сообщения: 24.02.2007 16:20
ZeroCOOLMSK Обнови вер

Цитата:
Исправлено:
- некорректное сохранение/загрузка файлов, содержащих русс. буквы. Теперь нормально работает с русскими именами пользователей

Насчет автозагрузки, переделываю, думаю получится сделать, чтоб при запуске планировщиком без входа в систему прога раб. корректно без создания окон. Повторный запуск проги (после входа в систему) будет приводить к появлению окна интерфейса.
Автор: GuestABC
Дата сообщения: 25.02.2007 15:27
Выложил очередную сборку.

Цитата:
Что нового в Вер. 1.059:
Исправлено: Небольшая ошибка в выводе строки состояния.
Добавлено:
- Сортировка данных в таблице по любому столбцу
- Вывод инф. о кол-ве особоактивных пользователей в строку состояния
- Вывод основных параметров 2 варианта: кбит/с (кбайт/с)
Тестовая версия. Идет постепенная переделка программы (работа по реализации возможности запуска планировщиком без входа в систему) (пока отключено)
Автор: GuestABC
Дата сообщения: 25.02.2007 22:51
Поправил ошибочку и слегка улучшил вывод

Цитата:
Что нового в Вер. 1.06:
- Исправлен вывод количества особоактивных пользователей
- Добавлена опция выбора единицы измерения скорости (в опциях кбит/с или кБайт/с
Автор: X0E2003
Дата сообщения: 26.02.2007 07:45
Динамическое распределение на группы:

Создаём функцию группа

Создадим допустим группа1 и добавим 3-х пользователей из списка контроллируемых пользователей

Пруппа1: - скорость на группу 64кбит/с
User1 - значить у всех по 21кбит/c
User2 - 21кбит/c
User3 - 21кбит/c

если использует только один, напр. User1 - то он забирает весь 64кбит/c

Пруппа1: - скорость на группу 64кбит/с
User1 - 64кбит/c если остальные в OFFLINE
User2 - OFFLINE
User3 - OFFLINE

Пруппа1: - скорость на группу 64кбит/с
User1 - если остальные Малоактивные то 60кбит/c
User2 - Малоактивный 2кб. в настр.
User3 - Малоактивный

Так же возможно ли перенести функцию малоактивный и на группу, если такая функция вообще будет!

P.S. Спасибо тебе в этом трудном и муторном для всех нас деле! БОЛЬШОЙ ТЕБЕ РЕСПЕКТ ЗА ПРОГУ!
Автор: GuestABC
Дата сообщения: 26.02.2007 09:52
X0E2003 т.е.
1. нужно управлять несколькими группами, с разным каналом для каждой?
2. Или просто нужно управлять 1 группой, а остальные фиксированы?
1. можно просто добавить в tispd тех пользователей, которыми нужно управлять и задать в опциях ширину канала, которая предназначена этой группе.
2. Если же нужно управлять несколькими группами, предлагаю просто сделать несколько копий проги, запустить их и для каждой копии добавить нужных пользователей (1 группа- 1 копия проги и соотв. юзеры). Конечно неэкономично по ресурсам...
А что делать если в 1 группе все неактивны? перебрасывать траффик на другие? Тогда так не получится. Прийдется писать.
Вообще похоже функция полезная, позволит кооперироваться пользователям. Подумаю насколько это трудоемко, если надо, может что-то и придумаю...
Автор: Anti4itBIT
Дата сообщения: 26.02.2007 16:12
Забыл добавить. GuestABC, если не сложно добавь возможность указывать отдельным юзерам максимальную ширину канала, выше которой им выделяться не будет.
Автор: X0E2003
Дата сообщения: 26.02.2007 18:33
1. Да, именно с разным каналом для каждой.
2. Нет их может быть много

А что делать если в 1 группе все неактивны?
Просто откл. эту группу, как будто ее нет, распредилить этот траффик на других.
Автор: GuestABC
Дата сообщения: 28.02.2007 13:03
Насчет групп и ограничения на макс. сделать реально, как будет свободное время.
Интересно, кто на каком кол-ве пользователей пробовал прогу? (для 1.06 теоретический предел 350, интересно, как в реальности)
Автор: formula951
Дата сообщения: 01.03.2007 06:00
Еще задачка для данной утилиты.
Шейпер динамический это хорошо, но что делать и как определить зараженных? Трафф они не кисло потребляют, я пока одного нашел, т.к. он с периодичностью раз в месяц чет подхватывает, несмотря на Нод или Каспера. Ну я этого «больного» в отдельную группу поместил, выделил на группу 5 кбит, пусть тусуется там. А вот как других «больных» определить? Ведь 10 таких пользователей нефиг делать канал посадят.

PS Не пинайте если не в тему, но я думаю что по теме, т.к. вопрос обсуждается утилиты и что можно сделать полезного для данной утилиты, что бы динамический шейпер работал правильно (эффективно).
Автор: GuestABC
Дата сообщения: 01.03.2007 21:30
Раскопал В след. вер. будет возможность брать список юзеров с ТИ.
Вот только эта ф-ция поддерживается только ТИ последних вер. Кстати, у кого-то работает последняя вер. на 159 билде? (самая первая работала, остальные без понятия...)
formula951
Цитата:
как определить зараженных? Трафф они не кисло потребляют,

Дык они ж платят за определенный канал или траффик? В любом случае, чужой не заграбастают. Раз купили, пусть себе пользуются... Можно конечно и графики использования в Ти посмотреть, но человек может и качать 24/7....
Автор: Anti4itBIT
Дата сообщения: 02.03.2007 00:27
Вирус можно обнаружить с помощью количества пакетов.
Как правильно вирус тупо гонит траф, то есть кол-во отправленных пакетов несоизмеримо больше и чаще всего не зависит от выдаваемой скорости.
Автор: formula951
Дата сообщения: 02.03.2007 05:52
>> Дык они ж платят за определенный канал или траффик?

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

>> Вирус можно обнаружить с помощью количества пакетов.

Буду дома посижу понаблюдаю за ю-зверями. Чет про пакеты не сообразил.
Автор: X0E2003
Дата сообщения: 10.03.2007 09:14
to formula951 - в новом трафе он сам автоматом ограничивает эти пакеты т.ч. ничего писать не нужно. См. офф. сайт!
Автор: ZeroCOOLMSK
Дата сообщения: 13.03.2007 08:07
Дружище GuestABC, мы с нетерпением ждём новую версию твоей проги, особенно очень хочеться что бы она всё таки заработала как служба, ну или хотя бы был какой то способ запускать её как службу..
Автор: GuestABC
Дата сообщения: 14.03.2007 14:33
пока разработка приостановлена из-за отсутствия достаточного свободного времени. А так как изменения задумывались большие, все так и лежит в начатом состоянии....
Автор: GuestABC
Дата сообщения: 16.03.2007 03:34

Цитата:
Что нового в Вер. 1.061 (тестовая вер.) http://people.overclockers.ru/Yuri/files
- Переделана форма настроек, убран оттуда список пользователей. Теперь работа с пользователями в основном окне. Добавлена кнопка "Очистить лог"
В основном окне:
Добавлено выпадающее меню (прав. кнопкой на списке) операции над списком пользователей:
    - взять список пользователей из ТИ;
    - Удалить пользователя из списка (работает клавиша "Del" в списке);
    - доб. пользователя вручную.
Добавлены кнопки: Подкл, откл, взять список пользователей из ТИ.
В заголовке осн. окна отображается состояние (подключен к Ти или нет)
Переработана функция выхода из программы (более корректный при очень частом обновлении списка).

Увы, запуска в кач. службы все еще нет. Не знаю даже когда...
Автор: X0E2003
Дата сообщения: 16.03.2007 18:13
Да не парься ты с этой службой, лучше доработай группы и ограничения на макс., а для запуска как служба есть спец. прога FireDaemon.Pro называется!

Страницы: 123456789

Предыдущая тема: MICROSOFT OUTLOOK 2003 (!) - Помогите


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.