контролировать входящий / исходящий http трафик с помощью .net - PullRequest
5 голосов
/ 17 января 2010

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

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

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

Ответы [ 2 ]

1 голос
/ 17 января 2010

Почему бы просто не расширить Скрипач до костюм Ваши потребности?

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

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

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

Есть ли в .NET способ программно прослушивать HTTP-трафик?

РЕДАКТИРОВАТЬ: Кроме того, Захват HTTP-запросов может помочь

...