Сетевое программирование на C#

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

Я хочу знать, с чего мне начать, чтобы сделать мой проект .... я должен сначала изучить программирование сокетов или что? Должен ли я научиться использовать winpcap под C # или просто выполнять свою собственную функцию.

посоветуйте с чего начать!!!

Я знаю, что в Интернете есть много кода на C # для этого, но я хочу изучить его самостоятельно, но я не знаю, с чего начать!


person Eyla    schedule 03.02.2010    source источник
comment
Любая структура захвата пакетов заставит вас указать интерфейс, который прослушивается, чтобы о нем позаботились. Затем загрузите wireshark и узнайте, какие типы трафика отправляются по сети и как их фильтровать, чтобы сузить результаты. Программирование сокетов обычно предназначено для написания двухточечных коммуникационных приложений прикладного уровня.   -  person Evan Plaice    schedule 10.11.2010


Ответы (3)


Вы определенно должны сначала изучить основы программирования сокетов, чтобы немного понять, что происходит. Затем я хотел бы изучить программирование с использованием WinPCap, библиотеки для перехвата пакетов. Он не создан непосредственно для .NET, но есть, я полагаю, оболочки .NET или, по крайней мере, вы можете вызывать функции с помощью COM Interop.

person BobbyShaftoe    schedule 03.02.2010

Я согласен с тем, что использование WinPcap, вероятно, является хорошей идеей. В частности, обратите внимание на SharpPcap. он активно поддерживается. На самом деле, сегодня был релиз.

person Matthew Flaschen    schedule 03.02.2010
comment
+1 за SharpPcap. Я использовал его, разработал его, и мне это очень нравится. - person Evan Plaice; 10.11.2010

Я рекомендую использовать Pcap.Net.

Это очень активная оболочка .NET для оболочки WinPcap с обширной библиотекой интерпретации пакетов. Он имеет отличное качество и производительность.

person brickner    schedule 09.04.2010