![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Учёт сетевого траффика проходящего через компьютер.
NetKnight © (2003-07-20 00:13:00)
НУжно следующее: Программа, которая будит мониторить проходящий через локальную машину траффик и отображать результаты в разных видах. Вторая часть не представляет проблемы, но как осущевствляется мониторинг? Так, чтоб я мог узнать какой пакет (TCP/UDP/ICMP), источник/получатель, Tx/Rx, порт.
Вообщем главный вопрос: как узнать, что пришёл пакет и как его рассмотреть средствами Дельфи? Так же было бы интересно узнать как можно сбросить пакет (аля файрвол)? И последнее: как сделать подобную программу минимально пожирающую ресурсы и тормозящую сеть?
Любая литература по этому вопросу приветствуется. Я даже не знаю где искать ответ.. :)
Е-Моё имя (2003-08-06 13:21:00) [1]
NetKnight © (06.08.03 12:37)
не, мне не надо ;)
это наверна gedd © (06.08.03 07:39) адресовалось? ;-))
NetKnight (2003-08-06 12:37:00) [2]
--> Е-Моё имя
Если нужно, пиши в мыло отправлю транслированый мной вариант
Е-Моё имя (2003-08-06 10:07:00) [3]
угу..выкладываю
http://www.sources.ru/cpp/network/sniff_2k_xp_D6.shtml
gedd (2003-08-06 07:39:00) [4]
Выложите код для делфи пожалуйста!
в http://www.sources.ru/cpp/network/sniff_2k_xp.shtml
для с++ блин
NetKnight (2003-07-28 14:56:00) [5]
--> Diatel
Эээ.. Попробую разгрести эту кучу кода.. :)
Diatel (2003-07-28 04:34:00) [6]
Юзай winpcap...
http://winpcap.polito.it/
просто и быстро...
Diatel (2003-07-28 04:34:00) [7]
Юзай winpcap...
http://winpcap.polito.it/
Rouse_ (2003-07-28 00:26:00) [8]
sin_port - порт к которому привязано открытое гнездо.
Например:
var
Port: Integer;
begin
...
Port := 319;
sin_port := htons(Port);
Желаю успехов
NetKnight (2003-07-27 14:51:00) [9]
Rouse_ - это я итак понял из названия структуры %)
Rouse_ (2003-07-27 14:45:00) [10]
Socket in port
Желаю успехов
NetKnight (2003-07-27 14:40:00) [11]Вот структура, которая используется для открытия сокета:
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, значит работает со всеми портами. Или как?
Fay (2003-07-25 11:34:00) [12]
>> .. как узнать порт по которому ..
Читай внимательно.
Е-Моё имя (2003-07-25 09:40:00) [13]
посмотри структуру тцп пакета
NetKnight (2003-07-25 02:40:00) [14]
Что никто не знает как узнать на и с какого порта пришёл пакет?
NetKnight (2003-07-21 20:34:00) [15]
Всё бы хорошо.. Статьи действительно помогли. Но ни в одной нет ни слова о том, как узнать порт по которому был отправлен пакет и по какому он был принят..
Кому нужен вариант для дельфи из первой статьи, могу поделиться тем, что я наранслировал. Всё работает.. :)
Marser (2003-07-20 01:21:00) [16]
http://www.delphimaster.ru/articles/netmon/index.html#traffic
ixania (2003-07-20 00:35:00) [17]
http://www.sources.ru/cpp/network/sniff_2k_xp.shtml
http://www.sources.ru/cpp/cpp_nt_sniffer.shtml