С# - захват сетевого трафика
Мне интересен захват сетевого трафика с определенного компьютера. Меня интересует только захват трафика с компьютера, на котором установлено мое приложение (например, Fiddler). Как и Fiddler, я хочу, в частности, захватить информацию, показанную в разделе "Веб-сеансы" (ID #, Http Status Code, Protocol, Host, Url, Body size, Content-Type и Process.
Пока я очень осведомлен в С#. Я понятия не имею, как реально захватить сетевой трафик, как это. Может кто-нибудь, пожалуйста, указать мне в каком-то направлении.
Большое вам спасибо!
Ответы
Ответ 1
ПРИМЕЧАНИЕ.. Я не уверен на 100%, что вы ищете в терминах автономного приложения или чего-то, что можно интегрировать в ваше приложение, но мой ответ предполагает, что вы ищете для чего-то интегрироваться в ваше приложение. Если нет, я удалю это.
Если вы ищете что-то для интеграции в ваше приложение, которое вы можете включить или отключить, вы должны взглянуть на FiddlerCore, которая является основной функциональностью, которую использует Fiddler, но может быть интегрирована в автономные .NET-приложения.
Вики FiddlerCore здесь, и это довольно хорошо описывает использование. Пример приложения также является хорошим описанием того, как использовать FiddlerCore.
Надеюсь, это поможет. Удачи!
Ответ 2
winpcap или одна из его оболочек .net - ваш лучший вариант. Это очень хорошо документировано. Если вы делаете это в моно, вам нужно будет использовать libpcap на машинах unix. Api идентичны.