Як змусити Fiddler припинити ігнорувати трафік до localhost?


143

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


Я думаю, це лише проблема в IE <9, правда?
Josh Mouch

Гум ... мій трафік локального хосту не ігнорується за замовчуванням, і я перевіряю його за допомогою IE 11 теж.
м3нда

Мені також довелося перейти з IIS на IIS Express
niico

Цей чудовий інструмент раніше був Fiddler, але тепер це лише кошмар конфігурації.
Людина-булочка

Відповіді:


100

Щоб змусити Fiddler захоплювати трафік під час налагодження локального хоста, після натискання клавіші F5 для початку налагодження змініть адресу, щоб у localhost було "". після неї.

Наприклад, ви починаєте налагодження, і ви маєте таку URL-адресу в адресному рядку:

http: // localhost: 49573 / Default.aspx

Змініть його на:

http://localhost.:29573/Default.aspx

Натисніть Enter, і Fidder почне збирати ваш трафік.


3
Солодкість. Так просто і ефективно.
Бредлі Маунтфорд

12
що працює для cassini .. не iis, який вам потрібно використовувати, якщо ви підключаєтесь до сайту чи послуги на SSL ...
user20358

Приємно! Працював чудово - не може бути простішим.
нараян

1
Не вдалося мені використати cygwin та curl із такою командою: curl -X POST -H "application / json" -d '{"name": {"firstName": "eli", "lastName": "kool" }} 'localhost.:61444/Inbound/Catch
Ілля Куліков

15
WebAPI не працює з localhost. в ньому написано Поганий запит - Недійсне ім'я
хоста

90

Веб-сайт Fiddler вирішує це питання безпосередньо.

Існує кілька запропонованих способів вирішення, але найпростішим є просто використання назви машини, а не "localhost" або "127.0.0.1":

http://machinename/mytestpage.aspx

Не впевнений, чому веб-сайт Фіддлера не пропонує пропозиції "додати період після localhost", який, на мою думку, є найкращим. Особливо це стосується деяких серверів, у яких я працюю, де localhost - це єдине, що я можу використовувати (завдяки контролям, дозволам ActiveX та ін.).
Josh Mouch

3
@JoshMouch Оскільки деякі веб-сервери відхиляють localhost.як недійсне ім'я хоста.
Аарон Дженсен

3
localhost.і machinenameвідхиляється в моєму випадку.
The Muffin Man

2
Як зазначалося, "localhost". не працює в багатьох API (або 127.0.0.1). Я використав модифікацію " localhost.fiddler ", яка прекрасно працювала для мене.
Вман

43

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

Отже, доступні різні способи вирішення: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/MonitorLocalTraffic


1
станом на квітень 2013 року: fiddler2.com/documentation/Configure-Fiddler/Tasks/… ps дякую за чудовий інструмент Ерік.
Піт

Додавання періоду до кінця локального хосту - найкращий трюк, і сайт скрипта не згадує цього.
Джош Мауч

Спробував інші різні рішення на цій сторінці: Додавши період, змінивши ім'я хоста з "localhost" на моє ім'я машини. Не працював. Замінила "localhost" на "ipv4.fiddler", згаданий у документі обходу,
Саймон Тессі

У ситуаціях, коли адреса кодується у файлах проектів, які знаходяться у бібліотеці вихідного коду, розподіляються всім розробникам (думаю, Mercurial / Git) у команді, або що всі розробники насправді не мають шахрая, ці рішення є нереальними та спричиняють більше проблеми, ніж вони вирішують. Необхідний спосіб, яким фіддер може діяти за межами проекту, а отже, має нульовий вплив на тах проект або його конфігурацію.
користувач2960136

39

Fiddler v4.5.1.0 дозволить вам перейти на заміну "localhost" на "localhost.fiddler" і представити localhost як ім'я хоста для приймаючого сервера, що працює на вашій машині.

Це дозволяє уникнути помилок "невпізнаний хост" під час підключення до служб WCF із вбудованим веб-сервером, який використовує візуальна студія.

тобто замість 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, другий невеликий "лоток" у цьому рядку, ймовірно, говорить щось на кшталт "Веб-браузери". Клацніть це, а потім змініть на "Усі процеси".

Рядок стану фіддлера



2

переконайтесь, що відмічено Монітор усіх з'єднань. це не працює для мене, можливо, порт відрізняється, мені потрібно, я бачу httprequest на мій сайт з Gmail, мій сайт на win xp та iis5 (моя власна машина)


2

Щоб Fiddler захоплював трафік з localhost на локальному IIS, є 3 кроки (це працювало на моєму комп’ютері):

  1. Клацніть Інструменти> Параметри Fiddler. Переконайтеся, що дозволено віддаленим клієнтам підключення. Закрити Fiddler.

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

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

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

  1. Додайте порт 8888 до адрес, визначених у вашому клієнті. Наприклад localhost: 8888 / MyService / WebAPI / v1 /

Так, за допомогою цих налаштувань скрипт працює як зворотний проксі, таким чином він пересилає вхідні запити на інший порт. У цьому прикладі він пересилає запити, направлені до порту 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"; }. Ця функція повинна бути за попереднім запитом.
м3нда


1

Використовуйте свою локальну IP-адресу (а не 127.0.0.1), замість цього працювала б, наприклад, 192.16.0.88 тощо. Перейдіть на cmd.exe і введіть ipconfig, і ви побачите його.

alt текст


4
Насправді це не так.
Nathan C. Tresch

Це не працює. Здається, ви не можете локально підключитися до власної IP-адреси
zeocrash

0

Windows XP:

Не забудьте встановити натискання кнопки налаштувань для кожного з елементів у списку "Набір параметрів комунікації та віртуальної приватної мережі" на вкладці "Підключення" в аплеті панелі керування "Параметри Інтернету".

Я помітив, що Fiddler припинить використовувати конфігурацію "LAN settings", коли я підключуюся до своєї VPN. Навіть якщо трафік не проходив через VPN.


0
  • Введіть ipconfig у відповідній запиті.
  • Це дасть вам вашу IPv4 адресу
  • Під час звернення до служби замініть localhost своєю IPv4 адресою в URL-адресі.

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


-2

Перейдіть до Інструменти, Параметри фідлера ..., виберіть вкладку Підключення та переконайтесь, що відмічено Монітор усіх з'єднань. Як сказав Ентоні Скотт, але також переконайтесь, що на панелі "Веб-сеанси" встановлено значення "Захоплення" та ["Веб-браузери" АБО "Усі процеси"]. Схоже, за замовчуванням є "Не браузер".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.