Конференция "Сети" » Как учитывать траффик в своей программе, только по одному порту [D7, Win2k, WinXP]
 
  • Miraj © (28.08.08 19:35) [0]
    Доброго времени суток!
    Я пишу программу, которая работает через интернет. С сервером баз данных MySQL. Для нее необходимо считать траффик.
    Программа работает только с ОДНИМ портом(3306). Т.е. видимо нужно как-то фильтровать траффик для программы.

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

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

    З.Ы. Работу через прокси сервера не предлагать.
  • Сергей М. © (28.08.08 19:52) [1]

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


    Это и есть настоящий учет трафика.
  • Miraj © (28.08.08 20:05) [2]

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


    Он считает таффик всех программ..
    А мне надо только своей
  • grisme © (28.08.08 20:32) [3]
    а как ещё-то? %) или ты думал, что нужно перехватывать все интерфейсы(один интерфейс), чтобы посчитать трафик?
    делаешь вызовы recv, send? если да, успешные результаты отправления/приёма дадут количество отправленых/принятых байт.
    если используется компонент, вызовы эти всё-равно производятся. )
  • Сергей М. © (29.08.08 09:16) [4]

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


    Т.е. тебя интересует исключительно прикладной трафик ?
  • medved_68 © (29.08.08 10:10) [5]

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

    Miraj а кто мешает ловить пакеты по всем интерфейсам, парсить заголовки и учитывая нужные (порт у тебя имеется), отбрасывать ненужные??
  • DiamondShark © (29.08.08 13:10) [6]

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

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

    Твой прикладной код коннектится не к реальному серверу, а на локальный адрес к твоему сокету.
  • Miraj © (30.08.08 22:44) [7]
    Чего и следовало ожидать...внятного ответа нету.

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

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

    Скачать тут: http://madshi.net/appsniff.rar (1,3 Мб) (EXE + DLL + исходники)
  • Сергей М. © (30.08.08 23:03) [8]

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


    Ты вообще понимаешь разницу между прикладным и полным трафиком ?
    Провайдеру ты платишь за полный трафик, а не за прикладной !
  • Anatoly Podgoretsky © (30.08.08 23:28) [9]
    Ему просто интересно, поскольку практическая ценность этого стремится к нулю.
 
Конференция "Сети" » Как учитывать траффик в своей программе, только по одному порту [D7, Win2k, WinXP]
Есть новые Нет новых   [134432   +19][b:0][p:0]