| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Подсчёт траффика |
| Автор: DoDo 5.10.2005, 10:05 |
| Всем Доброе Утро! Вот появился один вопрос: Как можно узнать сколько из сети закачено траффика и отправлено в сеть? Вообщем говоря, надо сделать так чтобы, если я сижу в сети и запускаю программу она показывала сколько траффика закачено и отправлено в сеть. Если есть для этого функции то подскажите, если у кого исходники, то если не трудно скиньте их тоже сюда! |
| Автор: DENNN 5.10.2005, 10:14 |
| Необходимо понимать, какой трафик вы будуете считать: на транспортном уровне, на канальном уровне, принадлежащий какому-то сервису и пр. Кроме того, трафик можно также снимать с разных сетевых устройств. Например, при коннекте по ADSL посредством авторизации PPTP можно считтаь трафик, идущий в туннеле, а можно на сетевой карте. Во втором случае число отправленных TCP-пакетов будет ~5-15% больше, чем скажем сгенерил ваш броузер. Резюме, чтобы что-то посчитать нужно по возможности четко представлять что же мы считаем за трафик. |
| Автор: DoDo 5.10.2005, 10:37 |
| DENNN , полностью с тобой согласен . В данной ситуации мне трубуется определить траффик который поступает через сетевую карту . Как определить сколько я зугрузил из сети и сколько было отправлено ? |
| Автор: DENNN 5.10.2005, 10:55 | ||||
Если требования не слишком жесткие, то можно попробовать установить компоненты виндоус, обеспечивающие работу с SNMP. В SNMP для каждой сетевой карты есть счетик принятых и отправленных байтов + море другой информации. Если это кажется слишком сложным, то просто парсить вывод команды
или
|
| Автор: DoDo 5.10.2005, 11:20 |
| DENNN , верно . Только как сделать самому программу чтобы она это показывала ? Вообще говоря , сделать программу на С++ чтобы показывала данные о трафике . Исходников нету? Просто хочу попробовать написать программу которую запускаешь и она записывает данные о трафике в .тхт файл . |
| Автор: DENNN 5.10.2005, 11:40 |
| Чего тебе не понятно? как перехватить вывод netstat? Если совсем уж так все тяжело, то можно перенаправить вывод во временный текстовый файл и читать его содержимое из проги. |
| Автор: DoDo 5.10.2005, 11:47 |
| DENNN , верно ты подметил . А как это сделать ? Просто я еще пока не силен в C++ |
| Автор: DENNN 5.10.2005, 11:54 | ||
| О боги! И ты хочешь трафик подсчитвать? Идем читаем учебник по C++ (любой, какой надешь), открываем для себя MSDN (о чудо, там столько всего, даже про операции с файлами!!!), cмотрим как работает перенаправление вывода в файл
смотрим FAQ, смотрим поиск по форуму, смотрим поиск по интеренуту. Пишем свою небольшую программу. Если же одбросить эмоции...: тебе что не понятно? Как на C++ програмировать или как посчитать трафик? Если на уровне общего количества прошедших байтов через сетевую, то трафик твоей проги от общего ты не отделишь. Более того, там даже нет информации о том, с какого и на какой порт посылались TCP пакеты. Если нужен функционал типа KasperskiyAntiHacker, где разрешения указываются на уровне программы, то тебе необходимо в систему внедрить свой сетевой драйвер, либо использовать зуки на массу сетевых команд ОС. Короче - дело не пяти минут. |
| Автор: DoDo 5.10.2005, 12:05 |
| DENNN , всё понятно ! Спасибо ! Главное как я понял просто переправить в файл ! Вот и всё ! Спасибо ! |