Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Вниз

Трафик 


Александр_1   (2001-11-16 00:33) [0]

Доброго времени суток! Подскажите плиз алгоритм подсчета входящих ай пи пакетов, через какой визуальный компонент это можно сделать или может через винапи фанки, у меня не получилось как ни пытался! Заранее благодарен, если можно ответьте мне на мыло!



ev   (2001-11-17 02:13) [1]

Этот вопрос поднимался уже много раз! НО дельного ответа не последовало!
Может кто на этот раз ответит ?!?!?!?!?!?



Anatoly Podgoretsky   (2001-11-17 12:45) [2]

Для этого надо писать/работать с драйвером на самом низком уровне, ну это конечно если вопрос поставлен точно.



ev   (2001-11-17 17:01) [3]

это понятно. НО (если вопрос поставлен точно) человеку требуется АЛГОРИТМ, и наверное пример ;)



Kharchenko Sergey   (2001-11-17 21:09) [4]

Для этого, видимо, легче всего написать свой прокси.
Что тоже нелегко.
А идея прокси будет выгладеть примерно так:

---- Запрос----->r------7--!!->r------7---- Провайдеру->
|Server| |Client|
|Socket| |Socket|
<--- Клиенту-----L------J<-!!--L------J---- Ответ-------
ServerSocket в этой реализации просто слушает порт. Она же пишет ответ клиенту.
ClientSocket здесь служит для передачи данный провайдеру. Она же получает их обратно.
!! - самая сложная часть реализации. Самая большая проблема - увязать между собой Server и Client в "обратной схеме", т.е. когда Сервер общается не с Клиентом, а Клиент - не с Сервером. Оба должны коннектиться. Именно поэтому я сомневаюсь, что такая схема вообще возможна.
Если она все-таки возможна - прошу объяснить мне, как это делается.
Если нет - тогда подскажите на чем делать proxy и как считать траффик.
!! - как раз та часть кода, в которой реализован подсчет траффика.



Polevi   (2001-11-18 10:07) [5]

Насколько я понимаю, прокси для каждого своего клиента выделяет отдельный порт, и с внешним миром общается от своего IP и данного порта. Соответственно, получив пакет извне, прокси смотрит на номер порта и преобразует его во внутренний IP адрес



False_Delirium   (2001-11-19 16:55) [6]

Не порядок....зачем же вводить людей в заблуждение......всё проще, чем изложено выше.....ну зно получиться Handle сокета работающего с портом.....а дальше с ним можно делать всё, что душе угодно.....открывать...закрыть....считать трафик....перенапрвлять...
см. как Борланд работаетс сокетами на уровне Апи..



Wonder   (2001-11-19 18:11) [7]

Чтобы считать трафик через прокси:
- во-первых, необязательно его писать самому, потому как уже есть готовые
- во-вторых, это надо весь трафик клиентских программ перенаправлять на прокси, что в общем случае нетривиально сделать.

Есть такая утилитка в составе форточек - netstat зовется.
Запустив ее с ключем -s можно получить статистику по протоколам.
Работает она через SNMP. То ли на torry, то ли еще где, я видел кучу компонент для работы с SNMP.



gunner   (2001-11-20 13:33) [8]

1) А почему бы не копнуть поглубще ?? Воьзьми WinCap и можешь считать не только трафик на своей машине, а вообще весь трафик в сети !!

2) Или спроси входящий трафик у винды !!
>Wonder © уже сказал что эта программа делает запрос по SNМP у винды, я в своё время писал такую на делфях, она показывала все открытые соеденения на машине.. там всего лишь 2 функции используются... вообщем ничего сложного ! Возможно можно спросить и про трафик !




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.014 c
3-32115           Alex SW               2002-01-15 10:23  2002.02.11  
Проблема с InterBase 6


1-32222           Duce                  2002-01-25 14:52  2002.02.11  
Error : Control has no parent window


1-32255           Лана Розанова         2002-01-28 11:09  2002.02.11  
Все добрый день


1-32220           ev                    2002-01-24 20:04  2002.02.11  
Есть ли платформно-независимый Object Pascal?


4-32373           ikar                  2001-12-13 12:31  2002.02.11  
Необходимо скопировать текст выделенный в любом другом приложении.