Монитор событий TCP в .NET - PullRequest
       17

Монитор событий TCP в .NET

0 голосов
/ 14 января 2011

У меня есть приложение SysTray, которое должно знать, когда браузер сталкивается с ошибкой TImeout / Connection Not Found / etc ... Internet. На уровне портов это может быть что-то из сети, непригодной для использования в сети, не найденной и т. Д. *

Мне НЕ нужно видеть каждый TCP-пакет, проходящий через сеть, но мне нужно знать о событиях TCP / Port / WinSock (в зависимости от того, что работает), проходящих через все порты.

В идеале, я бы избегал WinPCAP, так как это распространяемый программный продукт, и людям не нравятся WinPCAP на их компьютерах.

Я использую .NET 4.0 Full - может кто-нибудь указать мне правильное направление?

Ответы [ 2 ]

0 голосов
/ 17 января 2011

Спасибо за ваш ответ - он привел меня к IPGlobalPrperties - http://www.eggheadcafe.com/sample-code/csharp.NET/c51bd463-c6c3-48fb-a972-5b440215992a/provides-information-about-the-transmission-control-protocol-tcp-connections-on-the-local-computer.aspx

Используя производный от этого кода, я смог настроить монитор для событий TCP.

0 голосов
/ 14 января 2011

Если вы не заинтересованы в том, чтобы видеть фактические TCP-пакеты, а интересуетесь только открытыми соединениями, почему бы не использовать NETSTAT -a?

Он предоставит вам информацию о протоколе, локальной, внешней информации и состояниитекущие соединения на вашем клиентском компьютере.

Используйте класс Process для вызова NETSTAT -a.Перенаправьте вывод, используя Process.StandardOutput, в свое приложение, а затем отфильтруйте необходимые строки с помощью regex или string.split.

...