2010-01-17 2 views
5

Я хочу написать небольшое приложение, которое может: 1. Монитор URL-адресов, запрошенные через веб-браузер и/или 2. монитора входящих ответов HTTP на локальном компьютеремонитор входящий/исходящий трафик HTTP с .net

Я делаю несколько Googling, но я не нахожу никаких четких ответов. Я думаю, может быть, System.Net.Sockets.TCPListener и возиться с ним, но у меня создается впечатление, что это либо не то, что я ищу, либо не могу обрабатывать обе вещи.

Я не вам нужно подробное пошаговое объяснение. Просто небольшой обзор был бы полезен (если это вообще возможно), например (какие классы использовать, какие события подписываться, какие-либо дополнительные сведения, необходимые для создания необходимых объектов), я могу сообщить подробности .

+0

ли это CP статьи: помощь http://www.codeproject.com/Articles/ 17031/A-Network-Sniffer-in-C – danish

ответ

1

Почему не просто продлить Fiddler на suit ваших потребностей?

+0

Это перебор –

0

Вы можете использовать утилиту вроде Wireshark (графический, но не от C поддерживающей сценарии #, AFAIK). Wireshar e использует библиотеку под названием WinPcap, которая выполняет фактический мониторинг потоков TCP на компьютере. Декодирование HTTP-заголовков должно быть выполнено в вашем приложении (это то, что может сделать wirehark/tcpdump/windump). Вам нужно будет использовать PInvoke для вызова библиотеки WinPcap. Вы можете найти обертки библиотек, выполнив поиск в Интернете для «WinPcap PInvoke».

Этот вопрос звучит очень похоже на следующее:

Is there any way in .NET to programmatically listen to HTTP traffic?

EDIT: Кроме того, Capturing HTTP requests может помочь