Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Учет траффика


Автор: Laprado 1.12.2006, 20:27
Столкнулся с проблемой учета траффика, точнее его перевода в деньги. Перевод, надеюсь, напишу, а вот как определить исходящий траффик, нигде не нашел. Тем много, но ничего конкретного smile

Автор: mr.DUDA 2.12.2006, 14:21
Придётся делать layered service provider, перехватывающий любой трафик на компе. 


M
mr.DUDA
Тема не для .NET/C#, переношу в C++.


Добавлено @ 14:27 
P.S. можно не изобретать велосипед, а заюзать готовый provider - WinPCap, его много кто использует. Вот пример готового приложения для учёта трафика на С++:

http://www.codeproject.com/internet/trafficwatcher.asp

Автор: Laprado 2.12.2006, 19:16
Спасибо! Все же хотелось сделать средствами C# smile

Автор: witex 2.12.2006, 21:33
Юзай сокеты, поищи исходники снифера!

Автор: Kappac 18.12.2006, 23:10
К стати о сниферах, подскажите где можно почитать о принципе их работы(желательно с примерами кода).
Простите за офтоп!

Автор: witex 18.12.2006, 23:17
http://sources.ru/cpp/network/sniff_2k_xp.shtml находиться исходник.
А чего читать? снифер следит за всеми соединениями комьютера через модем или сетевую карту! Короче говоря за всеми конектами.
Там же есть те же recv и send  которые возвращают количество прнятых и посланных байт!
Вот и считай!

Хотя тут не очень исходник! Как говорил мой один препод "Шлёпни в гугл" -исходники снифера

Чёт я припарился! Функции send для снифера не делают, точнее для подсчёта трафика.
Обычно в сниферах ip выдаёт твой и внешний!
Вот и сравниваешь... если твой отсылает то считаешь как исходящий, если принимает то на входящий вот и всё.

Тут исходник полностью рабочий, врубиться не сложно. Только сразу исправь два бага где размер и время пакета itoa(hdr->iph_ttl,"",10)); на itoa(hdr->iph_ttl,Массив,10));

Автор: profispb 17.5.2007, 13:11
http://www.rohmanko.com/world/

Автор: jonie 17.5.2007, 23:33
Цитата

снифер следит за всеми соединениями комьютера через модем или сетевую карту! Короче говоря за всеми конектами.
сниффер низачем не следит... он просто тупо дампит чего идет через интерфейс (необяз сетевая или модем, может быть виртуальные интерфейсы). И следит не за всеми коннектами, а за трафиком что идет через интерфейс который он нюхает.
Код

Все же хотелось сделать средствами C# 
средствами безопасного кода врядли возможно. Нужно делать переходник из безопасного в опасный реальный мир) WinPCAP как говориться...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)