Russian Qt Forum

Qt => Работа с сетью => Тема начата: 8Observer8 от Сентябрь 05, 2014, 07:56



Название: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: 8Observer8 от Сентябрь 05, 2014, 07:56
Привет!

В планах создать приложение для отображения скорости скачивания и количества скаченных байт за месяц. Но пока не знаю, как подступиться, что почитать. По сетям писал только чат. Подскажите, пожалуйста, как узнать скорость скачивания и количество скаченных байт за месяц?


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: vizir.vs от Сентябрь 05, 2014, 09:29
Хм... Системно независимого на ум ни чего не приходит. Да и вряд ли есть. А так, в линуксе есть программы которые отображают эту инфу. Скорее всего они ее берут из файла логов. Ты можешь сделать так же. Что с виндой - хз.


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: navrocky от Сентябрь 05, 2014, 09:33
Можно использовать libpcap для подсчета трафика, но тогда твой сервис должен быть постоянно запущен. И неизвестно как такой перехват скажется на общем быстродействии системы.


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: 8Observer8 от Сентябрь 05, 2014, 09:48
Вы меня подтолкнули на мысль, что можно WinAPI использовать. Наверняка эта проблема уже решалась. Но хотелось бы сделать, как можно проще и быстрее.

libpcap же должен быть рассчитан на то, что он будет постоянно запущен? А моя программа, чем может затормозить компьютер? Как с libpcap в общих чертах работать?


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: OKTA от Сентябрь 05, 2014, 10:30
Кажется это то, что ты хотел http://msdn.microsoft.com/en-us/library/aa394340%28VS.85%29.aspx

Анализ пакетов, летящих через сетевую карту компа одна из самых диких задач для процессора - не зря DDos атаки валят компы и сервера на ура. Соответственно любое постороннее вмешательство в эти процессы будет сказываться на производительности.


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: 8Observer8 от Сентябрь 05, 2014, 10:42
Спасибо! Когда-нибудь напишу. Хотел опыт получить. Я просто думал, что на Qt это легко решается. Что есть какие-то классы, методы. Ан, нет. Так то я пользуюсь networx, но у меня сеть и из двух компов и когда я обмениваюсь файлами между компами, то почему-то networx приплюсовывает эти байты к скаченным из инета


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: OKTA от Сентябрь 05, 2014, 11:03
А че бы ему не приплюсовывать  ;D
Чтобы отделять локальные пакеты от пришедших из интернета, надо как раз таки каждый пакет анализировать - адрес источника точнее.


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: 8Observer8 от Сентябрь 05, 2014, 11:29
networx столько всего считает, а вот самой нужной функции "отделения локальных пакетов от интернетовских" - нет :(

P.S. На этом форуме самый прикольные смайлики, пожалуй, в Мире  :)


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: navrocky от Сентябрь 05, 2014, 15:01
Я просто думал, что на Qt это легко решается. Что есть какие-то классы, методы. Ан, нет.

К сожалению, Qt не всемогущ. Но видимо, если надо фильтровать по IP, то от libpcap тебе не уйти.


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: Bepec от Сентябрь 05, 2014, 15:06
WinPcap вроде может то, что вам надо.

Тут кроссплатформенных решений нет.


Название: Re: Сетевой трафик: скорость скачивания и количество скаченных байт за месяц
Отправлено: RSATom от Сентябрь 07, 2014, 17:40
как раз недавно вышла утилитка решаюшая эту задачу: http://glasswire.com...