Как заставить Fiddler перестать игнорировать трафик на localhost?

144

При использовании Fiddler для мониторинга HTTP-запросов и ответов в Internet Explorer он игнорирует весь трафик, направляемый на http: // localhost .

NotMyself
источник
Я думаю, что это проблема только в IE <9, верно?
Джош Моуч
Хм ... мой трафик localhost не игнорируется по умолчанию, и я тестирую его с IE 11 тоже.
m3nda
Мне также пришлось переключиться с IIS на IIS Express
niico
Раньше Fiddler был этим замечательным инструментом, но теперь это просто кошмар конфигурации.
Человек

Ответы:

100

Чтобы заставить Fiddler перехватывать трафик при отладке на локальном хосте, после нажатия клавиши F5, чтобы начать отладку, измените адрес, чтобы у localhost был символ «.» после этого.

Например, вы начинаете отладку, и у вас есть следующий URL в адресной строке:

HTTP: // локальный: 49573 / Default.aspx

Измените это на:

http://localhost.:49573/Default.aspx

Нажмите Enter, и Фиддер начнет собирать трафик.

NotMyself
источник
3
Сладость. Так просто и эффективно.
Брэдли Маунтфорд
12
это работает для cassini .. не тот, который вам нужно использовать, если вы подключаетесь к сайту или службе по SSL ...
user20358
Ницца! Работал отлично - проще не получается.
Нараян
1
У меня не сработало использование cygwin и curl с помощью следующей команды: curl -X POST -H "application / json" -d '{"name": {"firstName": "eli", "lastName": "kool" }} 'localhost.:61444/Inbound/Catch
Илья Куликов
15
WebAPI не работает с localhost. он говорит , Bad Request - Invalid Hostname
Pramod джангам
90

Сайт Fiddler напрямую решает этот вопрос .

Есть несколько предложенных обходных путей, но самый простой - просто использовать имя компьютера, а не «localhost» или «127.0.0.1»:

http://machinename/mytestpage.aspx
Мэтт Диллард
источник
Не уверен, почему веб-сайт Fiddler не предлагает предложение «добавить точку после локального хоста», которое я считаю лучшим. Это особенно верно в некоторых серверных средах, в которых я работаю, где localhost - это единственное, что я могу использовать (из-за элементов управления ActiveX, разрешений и прочего).
Джош Моуч
3
@JoshMouch Потому что некоторые веб-серверы отклоняются localhost.как неверное имя хоста.
Аарон Дженсен
3
localhost.и machinenameотклонено в моем случае.
Человек
2
Как отмечается, «местный хост». не работает на многих API (или 127.0.0.1). Я использовал модификацию " localhost.fiddler ", которая отлично сработала для меня.
Вман
43

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

Следовательно, доступны различные обходные пути: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/MonitorLocalTraffic

EricLaw
источник
1
по состоянию на апрель 2013 года: fiddler2.com/documentation/Configure-Fiddler/Tasks/… ps спасибо за замечательный инструмент Эрик.
Пит
Добавление периода к концу локального хоста - лучший трюк, и сайт фиддлера не упоминает об этом.
Джош Моуч
Попробовал другие решения на этой странице: добавление точки, изменение имени хоста с «localhost» на имя моего компьютера. Не сработало. Замена «localhost» на «ipv4.fiddler», упомянутый в документе
временного
В ситуациях, когда адрес закодирован в файлах проекта, которые находятся в библиотеке исходного кода, распределены среди всех разработчиков (например, Mercurial / Git) в команде, или если у всех разработчиков фактически нет фиддлера, эти решения нереалистичны и вызывают больше проблемы, чем они решают. То, что нужно, - это способ работы скрипача, который находится за пределами проекта и поэтому не оказывает никакого влияния на проект или его конфигурацию.
user2960136
39

Fiddler v4.5.1.0 позволит вам заменить «localhost» на «localhost.fiddler» и представить localhost в качестве имени хоста для принимающего сервера, работающего на вашей машине.

Это позволяет избежать ошибок «хост не распознан» при подключении к службам WCF со встроенным веб-сервером, который использует Visual Studio.

т.е. вместо http://localhost:51900/service.wcfтебя можно использоватьhttp://localhost.fiddler:51900/service.wcf

Джонатан
источник
2
РАБОТАЕТ ОТЛИЧНО! .. Из-за конфигурации сети моей работы ни одно из других предложений не сработало. Это единственный трюк, который сработал для меня.
Зортго
@Zorthgo Рад слышать. :)
Джонатан
8

В Internet Explorer появилась новая функция, начиная с IE9 RC: добавление <-loopback>в список обхода прокси заставляет WinInet (сетевую библиотеку, используемую IE) отправлять запросы, предназначенные для localhostи 127.0.0.1через определенный прокси.

Вот оригинальное объявление от @EricLaw: http://blogs.msdn.com/b/fiddler/archive/2011/02/10/fiddler-is-better-with-internet-explorer-9.aspx

Писквор покинул здание
источник
3

При использовании Fiddler v4.6 и конфигурации по умолчанию не удалось увидеть трафик от localhost. Перепробовал много предложений здесь, но ничего не получалось.

Включена Справка -> Устранение неполадок и может видеть еще много запросов. Сессии были помечены зачеркнутым шрифтом, и причина была названа «Скрыта из-за строки состояния> Фильтр процесса».

Нашел этот ответ от Эрика Лоуренса человеку, имеющему ту же проблему http://www.telerik.com/forums/fiddler-not-capturing-ios-traffic-even- Хотя- echo- service- works

в основном, что нужно сделать: посмотрите на строку состояния в нижней части окна Fiddler, второй маленький «трей» в этой панели, вероятно, говорит что-то вроде «веб-браузеры». Нажмите на это и затем выберите «Все процессы».

Строка состояния Fiddler

Рига
источник
2

удостоверьтесь, что Мониторинг всех соединений отмечен. это не работает для меня, может быть, порт другой, мне нужно, вы видите httprequest на мой сайт из Gmail, мой сайт на Win XP и IIS5 (моя собственная машина)

user88064
источник
2

Чтобы Fiddler мог захватывать трафик с локального хоста на локальном IIS, есть 3 шага (он работал на моем компьютере):

  1. Нажмите Инструменты> Параметры Fiddler. Убедитесь, что разрешено подключение удаленных клиентов. Закрыть Fiddler.

введите описание изображения здесь

  1. Создайте новый DWORD с именем ReverseProxyForPort внутри KEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Fiddler2. Установите DWORD на порт 80 (выберите десятичную здесь). Перезапустите Fiddler.

введите описание изображения здесь

  1. Добавьте порт 8888 по адресам, указанным в вашем клиенте. Например localhost: 8888 / MyService / WebAPI / v1 /
ozanmut
источник
Да, эти настройки позволяют фиддлеру работать в качестве обратного прокси-сервера, чтобы он перенаправлял входящие запросы на другой порт. В этом примере он перенаправляет запросы, сделанные на порт 8888, на 80.
ozanmut
Самым сложным для меня было полностью игнорировать localhost и отправлять весь остальной трафик на обработку fiddler. Вы должны обойти localhost, НО также исключить его в рамках ваших функций. (Вы можете попробовать скрыть правило 304 для целей тестирования.). Так что я закончил, исключив его следующим образом if ((m_EnableProxy) && !(oSession.host =="127.0.0.1" || oSession.host =="localhost" || oSession.host =="ipv4.fiddler")) { oSession["X-OverrideGateway"] = "socks=127.0.0.1:8080"; oSession["ui-backcolor"] = "#EFEF9F"; }. Эта функция должна быть onBeforeRequest.
m3nda
1

Вместо этого будет работать ваш локальный IP-адрес (не 127.0.0.1), например, 192.16.0.88 и т. Д. Перейдите к cmd.exe и введите ipconfig, и вы увидите его.

альтернативный текст

код Шредингера
источник
4
На самом деле это не так.
Натан Треш
Не работает Кажется, вы не можете подключиться к своему собственному IP-адресу локально
zeocrash
0

Windows XP:

Убедитесь, что вы установили нажатие кнопки настроек для каждого из элементов в списке «Параметры удаленного доступа и виртуальной частной сети» на вкладке «Подключения» апплета панели управления «Свойства обозревателя».

Я заметил, что Fiddler перестанет использовать конфигурацию «Настройки ЛВС» после подключения к VPN. Даже если трафик не идет через VPN.

User1
источник
0
  • Введите ipconfig в командной строке.
  • Это даст вам ваш адрес IPv4
  • Замените localhost вашим IPv4-адресом в URL при обращении к службе.

Трафик будет отображаться в Fiddler под IP-адресом вашего компьютера.

Кристиан Финдли
источник
-2

Перейдите в Инструменты, Параметры Fiddler ..., выберите вкладку Подключения, а затем убедитесь, что флажок Мониторинг всех подключений установлен. Как сказал Энтони Скотт, но также убедитесь, что на панели «Веб-сеансы» установлены «Захват» и [«Веб-браузеры» ИЛИ «Все процессы»]. Похоже, что по умолчанию "Non-Browser".

Маркус
источник