Есть ли способ .NET для программного прослушивания HTTP-трафика? - PullRequest
2 голосов
/ 26 сентября 2008

Я использую автоматизацию браузера для тестирования веб-сайтов, но мне нужно проверять HTTP-запросы от браузера (т. Е. Изображения, внешние скрипты, объекты XmlHttpRequest). Есть ли способ программно создать экземпляр прокси-сервера или анализатора пакетов для браузера, чтобы использовать его, чтобы увидеть, что он отправляет?

Я уже использую Fiddler для наблюдения за трафиком, но я хочу что-то без пользовательского интерфейса, которое я могу использовать при непрерывной интеграции сборки.

Могу ли я легко получить информацию, специфичную для HTTP, из WinpCap?

Ответы [ 4 ]

2 голосов
/ 26 сентября 2008

Вы, вероятно, не хотите использовать прокси-сервер, что создаст много ненужных сложностей.

Рассмотрим перехват пакетов , что в значительной степени решенная проблема. Wireshark удобен как отдельная утилита, которую вы можете использовать вручную, но также можно программно анализировать пакеты, используя WinPcap, библиотеку, на которой основан Wireshark. Вот пара примеров WinPcap в .Net, пример .NetNomad с примером проекта и учебник CodeProject , также с исходным кодом.

2 голосов
/ 26 сентября 2008

Попробуйте winpcap. Это комбинация драйвера / библиотеки, которая может использоваться для мониторинга пакетов. Исходя из того, что вы пытаетесь сделать (наблюдать за трафиком без пользовательского интерфейса), это, вероятно, более простое решение, чем написание собственного прокси.

1 голос
/ 26 сентября 2008

Есть множество приложений для этого. Моя рекомендация Wireshark

0 голосов
/ 26 сентября 2008

Вы смотрели на реализацию Http-модуля или Http-обработчика (.ashx)? Они позволят вам перехватывать каждый веб-запрос и обрабатывать их по мере необходимости, прежде чем перейти на вашу страницу.

...