Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.02;
Скачать: CL | DM;

Вниз

Учёт сетевого траффика проходящего через компьютер.   Найти похожие ветки 

 
NetKnight ©   (2003-07-20 00:13) [0]

НУжно следующее: Программа, которая будит мониторить проходящий через локальную машину траффик и отображать результаты в разных видах. Вторая часть не представляет проблемы, но как осущевствляется мониторинг? Так, чтоб я мог узнать какой пакет (TCP/UDP/ICMP), источник/получатель, Tx/Rx, порт.
Вообщем главный вопрос: как узнать, что пришёл пакет и как его рассмотреть средствами Дельфи? Так же было бы интересно узнать как можно сбросить пакет (аля файрвол)? И последнее: как сделать подобную программу минимально пожирающую ресурсы и тормозящую сеть?
Любая литература по этому вопросу приветствуется. Я даже не знаю где искать ответ.. :)


 
ixania   (2003-07-20 00:35) [1]

http://www.sources.ru/cpp/network/sniff_2k_xp.shtml
http://www.sources.ru/cpp/cpp_nt_sniffer.shtml


 
Marser ©   (2003-07-20 01:21) [2]

http://www.delphimaster.ru/articles/netmon/index.html#traffic


 
NetKnight ©   (2003-07-21 20:34) [3]

Всё бы хорошо.. Статьи действительно помогли. Но ни в одной нет ни слова о том, как узнать порт по которому был отправлен пакет и по какому он был принят..

Кому нужен вариант для дельфи из первой статьи, могу поделиться тем, что я наранслировал. Всё работает.. :)


 
NetKnight ©   (2003-07-25 02:40) [4]

Что никто не знает как узнать на и с какого порта пришёл пакет?


 
Е-Моё имя ©   (2003-07-25 09:40) [5]

посмотри структуру тцп пакета


 
Fay   (2003-07-25 11:34) [6]

>> .. как узнать порт по которому ..
Читай внимательно.


 
NetKnight ©   (2003-07-27 14:40) [7]

Вот структура, которая используется для открытия сокета:

sockaddr_in = record
case Integer of
0: (sin_family: u_short;
sin_port: u_short;
sin_addr: TInAddr;
sin_zero: array[0..7] of Char);
( sa_family: u_short;
sa_data: array[0..13] of Char
)
Вот структура, которая используется для открытия сокета:

sockaddr_in = record
case Integer of
0: (sin_family: u_short;
sin_port: u_short;
sin_addr: TInAddr;
sin_zero: array[0..7] of Char);
1: (sa_family: u_short;
sa_data: array[0..13] of Char)
end;
TSockAddrIn = sockaddr_in;

Я не нашёл нормального её описания. В МСДН - просто написан код и нет пояснений.. :(
Что обозначает sin_port? Порт, к которому привязывается сокет? А если он 0, значит работает со всеми портами. Или как?


 
Rouse_ ©   (2003-07-27 14:45) [8]

Socket in port

Желаю успехов


 
NetKnight ©   (2003-07-27 14:51) [9]

Rouse_ - это я итак понял из названия структуры %)


 
Rouse_ ©   (2003-07-28 00:26) [10]

sin_port - порт к которому привязано открытое гнездо.
Например:

var
Port: Integer;
begin
...
Port := 319;
sin_port := htons(Port);


Желаю успехов


 
Diatel   (2003-07-28 04:34) [11]

Юзай winpcap...
http://winpcap.polito.it/


 
Diatel   (2003-07-28 04:34) [12]

Юзай winpcap...
http://winpcap.polito.it/

просто и быстро...


 
NetKnight ©   (2003-07-28 14:56) [13]

--> Diatel
Эээ.. Попробую разгрести эту кучу кода.. :)


 
gedd ©   (2003-08-06 07:39) [14]

Выложите код для делфи пожалуйста!
в http://www.sources.ru/cpp/network/sniff_2k_xp.shtml
для с++ блин


 
Е-Моё имя ©   (2003-08-06 10:07) [15]

угу..выкладываю
http://www.sources.ru/cpp/network/sniff_2k_xp_D6.shtml


 
NetKnight ©   (2003-08-06 12:37) [16]

--> Е-Моё имя
Если нужно, пиши в мыло отправлю транслированый мной вариант


 
Е-Моё имя ©   (2003-08-06 13:21) [17]

NetKnight © (06.08.03 12:37)
не, мне не надо ;)
это наверна gedd © (06.08.03 07:39) адресовалось? ;-))



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

Текущий архив: 2003.10.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
1-3923
Opera
2003-09-22 01:04
2003.10.02
Цикл


14-4046
Sergo
2003-09-15 10:28
2003.10.02
OnLine игровой сервер


1-3921
XenonXX
2003-09-22 03:30
2003.10.02
Неизвесная DLL


1-3831
repo
2003-09-19 13:40
2003.10.02
Помогите разобраться с CallBack-вызовами


1-3873
Goorus
2003-09-18 16:56
2003.10.02
PageControl