Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Как учитывать траффик в своей программе, только по одному порту   Найти похожие ветки 

 
Miraj ©   (2008-08-28 19:35) [0]

Доброго времени суток!
Я пишу программу, которая работает через интернет. С сервером баз данных MySQL. Для нее необходимо считать траффик.
Программа работает только с ОДНИМ портом(3306). Т.е. видимо нужно как-то фильтровать траффик для программы.

Как это можно реализовать?

Если есть возможность, объясните. А то я перерыл Королевство Делфи, ичего не нашел. Только учет по интерфейсам есть.

З.Ы. Работу через прокси сервера не предлагать.


 
Сергей М. ©   (2008-08-28 19:52) [1]


> Только учет по интерфейсам есть.


Это и есть настоящий учет трафика.


 
Miraj ©   (2008-08-28 20:05) [2]


> Это и есть настоящий учет трафика.


Он считает таффик всех программ..
А мне надо только своей


 
grisme ©   (2008-08-28 20:32) [3]

а как ещё-то? %) или ты думал, что нужно перехватывать все интерфейсы(один интерфейс), чтобы посчитать трафик?
делаешь вызовы recv, send? если да, успешные результаты отправления/приёма дадут количество отправленых/принятых байт.
если используется компонент, вызовы эти всё-равно производятся. )


 
Сергей М. ©   (2008-08-29 09:16) [4]


> А мне надо только своей


Т.е. тебя интересует исключительно прикладной трафик ?


 
medved_68 ©   (2008-08-29 10:10) [5]


> Он считает таффик всех программ..
> А мне надо только своей

Miraj а кто мешает ловить пакеты по всем интерфейсам, парсить заголовки и учитывая нужные (порт у тебя имеется), отбрасывать ненужные??


 
DiamondShark ©   (2008-08-29 13:10) [6]


> А мне надо только своей

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

Твой прикладной код коннектится не к реальному серверу, а на локальный адрес к твоему сокету.


 
Miraj ©   (2008-08-30 22:44) [7]

Чего и следовало ожидать...внятного ответа нету.

Непонятно одно, как тогда фаерволы пишут, если никто не знает как это делается.
Ну да ладно...
Я все таки нашел один вариант, как учитывать трафик своей программы.

Есть такая программка AppSniff умеет все что нужно.(сделана на компонентах MAD)

Скачать тут: http://madshi.net/appsniff.rar (1,3 Мб) (EXE + DLL + исходники)


 
Сергей М. ©   (2008-08-30 23:03) [8]


> Miraj ©   (30.08.08 22:44) [7]


Ты вообще понимаешь разницу между прикладным и полным трафиком ?
Провайдеру ты платишь за полный трафик, а не за прикладной !


 
Anatoly Podgoretsky ©   (2008-08-30 23:28) [9]

Ему просто интересно, поскольку практическая ценность этого стремится к нулю.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.064 c
2-1272386845
romario
2010-04-27 20:47
2010.08.27
Как передать данные из одной процедуры в другую


11-1206617782
Сашик
2008-03-27 14:36
2010.08.27
Форма с полупрозрачной тенью


15-1272054585
@!!ex
2010-04-24 00:29
2010.08.27
Вопрос по Inno Setup. Как обновить файл?


2-1274676640
viktooor
2010-05-24 08:50
2010.08.27
Запрет редактирование в Grid


15-1264145710
Дмитрий С
2010-01-22 10:35
2010.08.27
Атмосфера увеличивается?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский