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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.01 c
14-4050
race1
2003-09-15 16:52
2003.10.02
ааа! потерял менюшку


14-4117
zzet
2003-09-13 11:00
2003.10.02
казино


1-3853
Type
2003-09-19 07:11
2003.10.02
Тип переменной........


1-3898
Vladimir
2003-09-18 11:24
2003.10.02
Чтение свойст из строки Control.Property= xxxxxx


1-3973
Evg12
2003-09-19 13:02
2003.10.02
Обработка Нажатия Escape





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский