Ответ 1
Что вам нужно, это Network Monitor API. Подробнее здесь и здесь.
Я хотел бы как-то подключиться к сетевому стеку локальной системы для захвата исходящих сетевых пакетов без использования Winpcap. К сожалению, это время от времени ломает мою систему.
Есть ли способ "обнюхивать" исходящий трафик локальной системы из процесса пользовательского пространства, написанного на языке .NET?
Что вам нужно, это Network Monitor API. Подробнее здесь и здесь.
Я использую smsniff от NIRSOFT. Вам нужно быть администратором на машине, чтобы обнюхивать любой трафик.
http://www.nirsoft.net/utils/smsniff.html
Я никогда не видел .net, используемый для обнюхивания трафика. Но, возможно, NetMon из Microsoft имеет COM-интерфейс, который вы вызываете из .Net
Но, как всегда, вам нужно быть админом, чтобы обнюхать трафик, так как необходимо установить сетевой адаптер в беспорядочный режим.
Да, у классов System.Net есть встроенная функция трассировки. Все, что вам нужно сделать, это настроить ее в файле app.exe.config. Это хорошо объясняется в статье библиотеки MSDN.