6045 / 3454 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
1

Учет трафика

05.10.2010, 15:08. Показов 11393. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени всем!
Провайдер предоставляет определенное количество интернет-трафика за абон плату, при превышении предоплаченного объема стоимость трафика увеличивается в 10 раз и засчитывется в качестве задолженности.
У меня задача написать софтинку, которая считает входящий и исходящий интернет трафик и блокирует доступ (ну или хотя бы выдает предупреждение) при достижении указанного значения.
Отсюда вопрос: каким способом считать этот трафик? Предполагаю, что должна быть какая-то API.
В трее во время подключения висит подсчет трафика. Может к нему как достучаться, что выдернуть данные?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2010, 15:08
Ответы с готовыми решениями:

Снифф трафика
Нужно сделать программу которая будет работать в процессах и будет отслеживать текущий трафик...

Контроль трафика приложения, получение текущего трафика в переменную
Доброго времени суток! Вообще не могу придумать, с какой стороны подобраться к задаче. На...

Программа для билинга: как сделать учет трафика
пишу прогу для билинга, как сделать учет трафика??? Есть наброски но прога висит и выдает только...

анализ трафика
Задача. Написать приложение, которое производит анализ подозрительного трафика. Если DDOS, то...

12
1318 / 991 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
06.10.2010, 10:26 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private static void ShowNetworkTraffic()
{
    PerformanceCounterCategory performanceCounterCategory = new PerformanceCounterCategory("Network Interface");
    string instance = performanceCounterCategory.GetInstanceNames()[0]; // 1st NIC !
    PerformanceCounter performanceCounterSent = new PerformanceCounter("Network Interface", "Bytes Sent/sec", instance);
    PerformanceCounter performanceCounterReceived = new PerformanceCounter("Network Interface", "Bytes Received/sec", instance);
 
    for (int i = 0; i < 10; i++)
    {
        Console.WriteLine("bytes sent: {0}k\tbytes received: {1}k", performanceCounterSent.NextValue() / 1024, performanceCounterReceived.NextValue() / 1024);
        Thread.Sleep(500);
    }
}
2
6045 / 3454 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
06.10.2010, 16:46  [ТС] 3
Mikant, я такой пример уже где-то видел, но он не работает, постоянно выдает 0 на обоих направлениях, хотя на компе идет закачка с нета
0
139 / 137 / 21
Регистрация: 26.01.2010
Сообщений: 350
06.10.2010, 16:51 4
А ты точно правильный интерфейс указываешь? Может, у тебя их несколько.
0
6045 / 3454 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
06.10.2010, 16:57  [ТС] 5
Цитата Сообщение от tasty_sock Посмотреть сообщение
А ты точно правильный интерфейс указываешь? Может, у тебя их несколько
Где (или как) это можно проверить?
0
139 / 137 / 21
Регистрация: 26.01.2010
Сообщений: 350
06.10.2010, 17:01 6
В win + r -> cmd -> ipconfig будет список.
0
6045 / 3454 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
06.10.2010, 17:15  [ТС] 7
tasty_sock, вот что я получил по ipconfig.

2 первых это виртуалка ... Только я непойму куда мне воткнуть полученную инфу...
Миниатюры
Учет трафика  
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
06.10.2010, 17:26 8
Где (или как) это можно проверить?
Можно использовать прогу из вложения
Вложения
Тип файла: rar Inerface_Scanner.rar (12.9 Кб, 305 просмотров)
1
139 / 137 / 21
Регистрация: 26.01.2010
Сообщений: 350
06.10.2010, 17:32 9
C#
1
string instance = performanceCounterCategory.GetInstanceNames()[2];
Полагаю, так.
1
6045 / 3454 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
06.10.2010, 18:15  [ТС] 10
PB, толковая софтина, выдала интерфейс "WAN [PPP_SLIP] Interface".
У тебя случайно нет ее исходников, а то там уже есть функция подсчета трафика

Добавлено через 4 минуты
Всем спасибо, заработало при таком раскладе:
C#
1
2
3
4
5
6
7
8
9
10
11
12
PerformanceCounterCategory performanceCounterCategory = new PerformanceCounterCategory("Network interface");           
           
            string instance = performanceCounterCategory.GetInstanceNames()[1]; 
            //string instance = "WAN [PPP_SLIP] Interface"; //либо так
            PerformanceCounter performanceCounterSent = new PerformanceCounter("Network Interface", "Bytes Sent/sec", instance);
            PerformanceCounter performanceCounterReceived = new PerformanceCounter("Network Interface", "Bytes Received/sec", instance);
 
            for (int i = 0; i < 1000; i++)
            {
                Console.WriteLine("bytes sent: {0}k\tbytes received: {1}k", performanceCounterSent.NextValue()/1024 , performanceCounterReceived.NextValue()/1024);
                Thread.Sleep(500);
            }
Добавлено через 4 минуты
Остался один вопрос: почему задержка 500 мс (Thread.Sleep(500)), если данные примаются на секунду (Bytes Received/sec) ?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
06.10.2010, 18:28 11
Цитата Сообщение от nio Посмотреть сообщение
У тебя случайно нет ее исходников
Есть.
Но исходник бейсике (PureBasic). Для получения инфы, используется WinAPI функция GetIfTable
Исходник во вложении.

Кстати, здесь видел похожую программу, которая считает трафик и сообщает о привышении лимита.
Вложения
Тип файла: rar Nic&Interface_Scanner.rar (3.0 Кб, 136 просмотров)
1
2 / 8 / 0
Регистрация: 23.12.2014
Сообщений: 16
31.12.2014, 17:05 12
Здравствуйте! C # только изучаю, пробовал код выше приведенный -работает! Возник вопрос, что именно считает этот код? килобита или килобайты? Знаю, что вопрос для знающих глупое, но для меня актуален. Заранее спасибо!
0
870 / 720 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
01.01.2015, 04:39 13
softozbor,
Там же написано в выводе bytes т.е. байты
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.01.2015, 04:39
Помогаю со студенческими работами здесь

Учет трафика
Добрый день, возник вопрос о учете трафика кто куда шарится, сколько жрет и на скок проседает...

Учёт трафика
Подскажите пожалуйста хорошую программу для учета трафика интернета

Учёт трафика
Здравствуйте, нужна помощь в настройке сервера. Задачи: 1. Предоставить каждому абоненту...

Учет трафика
Возможно ли учитывать трафик в ВинХР при работе с бесспроводным интернетом скайлинка без стороних...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru