Шукаєте проксі-сервер налагодження HTTP для Mac, схожий на Fiddler в Windows [закрито]


240

У попередніх роботах, коли я працював на машині Windows, я використовував Fiddler для перегляду HTTP-транзакцій та налагодження.

Я спеціально хочу відстежувати транзакції HTTP для сайту ajax, над яким я працюю, щоб перевірити, чи веб-сайт робить те, що я очікую. Перезапис HTTP (як надає Fiddler) - це приємно, але не суттєво.

Хтось може порекомендувати щось подібне для використання на Mac?


4
Це було закрито, але все ще існує, тому потрібно додати: Fiddler зараз є альфа для mac os.
бумгауер

1
я не знаю, чому це було б закрито? він має 113 подій. це не так, як це був запит на переповнення стека.
genxgeek

Прочитайте обґрунтування безпосередньо над цими коментарями - "Питання щодо рекомендацій щодо товарів, послуг чи навчальних матеріалів поза темою"
Doug Harris

Fireup Fiddler на сусідній машині Windows і налаштуйте свій MAC на проксі-сервер через машину Windows і вуаля! все на вашому MAC побачиться на Windows :)
Кораєм

2
FYI, для тих, хто по-справжньому схвильований, читаючи коментар @boomhauer: Fiddler для OSX все ще знаходиться в Alpha, останній раз торкнувся в липні 2013 року, йому потрібна рамка Mono (тому в основному це просто обгортка для версії Windows, а не насправді повторно розроблено для какао), а у випуску є примітка: "Примітка Mac: Рамка WinForms на Mac майже невиправдано баггі. Ваша найкраща ставка - запустити Fiddler у віртуальній машині Linux або Windows і вказати на це налаштування проксі-серверів Mac. . "
Ентоні

Відповіді:


130

Використовуйте Chrome і перейдіть до chrome: // net-Internals /

Це дозволяє детальний аналіз та скидання.


1
Приємно. Будь-яка ідея, коли це було додано до хрому?
Doug Harris

2
Ні, вибач. Раніше я працював з Fiddler в Windows, але переходячи на Mac, я натрапив на внутрішні мережі, шукаючи приховані функції хрому.
brains_at_work

5
цей інструмент здається "акуратним", але як ви можете бачити весь корисний навантаження запиту (тобто заголовки GET запиту?)
genxgeek

AFAIK, це не пропонує способу змінити дані в транзиті, як, наприклад, Fiddler за допомогою FiddlerScript, AutoResponder та точки проходу. Хороший інструмент, але для різних цілей.
iX3

33
цей інструмент, здається, лише залучає хромний трафік Чи є спосіб скористатися цим інструментом для отримання трафіку http від / до конкретного процесу?
морфей

71

Я знайшов Чарльза Проксі . Це набагато ближче до функціональності Fiddler. Це не безкоштовно, але, можливо, варто коштувати.


Просто цікаво: хтось тут ніколи його не використовував?
Ар'ян

Я використовував її протягом години-двох після того, як знайшов її. У пробній версії є декілька екранів наг і 30-хвилинне обмеження, але я не думаю, що це нерозумно. Я шукав конкретні заголовки у відповіді HTTP, і я міг легко їх побачити.
Дуг Харріс

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

5
Важливою функціональністю, яку надають charles (і fiddler, і, можливо, веб-карабр), є можливість перехоплення та зміни запитів, включаючи розшифровку https.
urban_raccoons

1
Я використовую Чарльза для розшифровки https-запитів Instagram, Facebook та інших мобільних додатків. Просто вкажіть iPhone Proxy на Чарльза, і я можу побачити, як вони надсилають дані та які дані вони надсилають!
Mário Carvalho

35

Я використовував mitmproxy для перехоплення HTTP-трафіку. Це чудовий інструмент, і ви можете використовувати його для налагодження мобільних пристроїв, або будь-якої операційної системи з цього питання.


ШУКАЙТЕ ЦЕ! До речі, для всіх дітей сценарію, якщо ви пишете код в чомусь іншому, ніж JS, що сидить у браузері, ця річ - THE THE квиток.
Шейн

30

Мій улюблений додаток mac для моніторингу трафіку - це HTTPScoop , я детально розглядаю це, а також використання tcpdump з командного рядка в цій публікації, яку я провів у минулому році .


Якщо вам трапляється знати Wireshark (або менш потужний аналізатор пакетів какао): чи можете ви порівняти HTTPScoop з цим?
Ар’ян

1
Аналізатор пакетів какао теж досить простий. Однак я ніколи не придумав, як відфільтрувати якийсь конкретний порт або серверну IP-адресу, а потім побачити і запит, і відповідь ... Це легко зробити в Wireshark. (Просто введіть smtpяк фільтр дисплея, щоб побачити весь трафік, що використовує протокол SMTP. Або tcp.port == 25щоб отримати увесь трафік до порту 25 та його відповіді. Або http and ip.addr == xxxщоб отримати увесь трафік HTTP на якийсь сервер і з нього.)
Arjan,

1
httpscoop виглядав багатообіцяючим, на жаль, здається, це покинуто, і я не зміг захопити локальний трафік 10.9.2. Останній реліз починається з 2009 року, і веб-сайт рекламує нові версії v2.0, які, здається, не будуть найближчими: /
Жан-

1
Я спробував використати цю програму, це жахливо порівняно з фідлером. Я хочу захопити весь трафік і всі порти, всі інтерфейси не порт 80 на localhost. Я спробував додати порти, які я хотів за допомогою налаштувань (з відкопуванням). Це не допомогло мені, оскільки речі, які я хотів стежити, були на двох різних інтерфейсах, наприклад, lo / en0
KnuturO

1
Посилання на блог не працює :(
Reg

19

Не те, що ви просили, але в Firefox надбудова Live HTTP Headers - все, що мені потрібно, якщо я хочу редагувати та відтворювати повторно запити, включаючи зміну URL-адреси та методу HTTP.

Живі заголовки HTTP

У Firebug Мережевий моніторинг показує всі запити та відповіді. Так само в Safari панель ресурсів вбудованого веб-інспектора охоплює і більшість моїх потреб. (Увімкніть веб-інспектора за допомогою налаштувань. Показуйте меню "Розвиток" у рядку меню .) Chrome і Firefox мають подібні інструменти.

Коли все ускладнюється, я запускаю нюхальник пакетів Wireshark . Однак, на відміну від Фіддлера, Wireshark не дозволяє вам змінювати дані і не підтримує такі речі, як автоматичні відповіді, як, мабуть, Fiddler.

Щодо Wireshark, див. Протокол передачі гіпертекстового тексту (HTTP) для деякої загальної інформації про захоплення HTTP та захоплення пакета HTTP для налагодження Apache , для деяких прикладів фільтрів відображення . (Ви можете встановити фільтр захоплення на " port 80", показати всі запити до цього порту та відповіді з цього порту. Або, щоб обмежитися деяким сервером, використовуйте фільтр захоплення " port 80 and host www.google.com".

# Показати лише 404: сторінку не знайдено
http.response.code == 404

# Показати лише певні методи HTTP
http.request.method == "POST" || http.request.method == "PUT"

# Показати лише JavaScript
http.content_type містить "javascript"

Зауважте, що Wireshark може декомпресувати gzip або знищувати закодовані (стиснуті) речі на ходу для вас. Це набагато простіше читати, оскільки більшість веб-серверів стискають дані, які вони надсилають до браузера.

(Що стосується автовідповідачів: у відмінного JS Bin є коротке відео про те, як використовувати його для налагодження запитів Ajax. Якщо ви не знаєте JS Bin, то спочатку перегляньте вступне відео.)


+1 для Firebug - Я люблю їхній інструмент моніторингу мережі
Josh,

Я спробував це, але не зміг зробити новий запит на інший URL (у тому самому домені) і не зміг знайти, як (наприклад, від GET до POST).
Пурефан

@Purefan, без більш детальної інформації ми не можемо допомогти; це працює для мене, дивіться скріншот, який я щойно додав. Можливо, ви натрапили
Arjan

7

Окрім Чарльза (вже згадуваного), мені також подобається доповнення HttpFox для Mozilla Firefox. Як і Чарльз, ви можете використовувати його як на Mac, так і на Windows. Він легший, ніж Чарльз, оскільки він перебуває у браузері, корисний для швидкого усунення несправностей. Ось деякі відомості зі сторінки HttpFox:

HttpFox відстежує та аналізує весь вхідний та вихідний HTTP-трафік між браузером та веб-серверами.

Він спрямований на залучення функціоналу, відомого з таких інструментів, як HttpWatch або IEInspector, до браузера Firefox.

Інформація, доступна за запитом, включає:

  • Заголовки запитів та відповідей
  • Надіслано та отримане печиво
  • Параметри запиту
  • Параметри POST
  • Орган реагування

І, скріншот:

Знімок екрана надбудови HttpFox для Mozilla Firefox


Це не сумісно з новішими версіями Firefox (Firedox 57 та Firedex Deveolper Edition 57)
Promather

6

Не проксі, але це допомагає в налагодженні HTTP:

Просто запустіть сканування на інтерфейсі, на якому ви будете мати HTTP-трафік, виконайте трафік, а потім припиніть сканування і введіть "HTTP" як рядок фільтра. Після цього ви зможете перевірити всі пакети HTTP-розмови. Якщо відкрити перегляд деталей про пакет, ви можете відкрити розділ HTTP, і він залишатиметься відкритим між пакетами.

Це чудовий інструмент, і він не вимагає від вас змінити проксі браузера. З іншого боку, він не може допомогти з трафіком HTTPS, оскільки він зашифрований. (Хоча він може розшифрувати з'єднання SSL, які використовують RSA )


2
Просто оновлення: Wireshark - це біль у ОС X. Для цього потрібен X11, який більше не входить в OS X, тому ви разом використовуєте близько 200 Мб диска.
Marko Bonaci

2
Просто оновлення на оновлення @MarkoBonaci, Wireshark 2.x зараз чудово працює на OSX, що позбавило потреби X11.
0x7c0

@MarkoBonaci - вам слід просто встановити замість qt.
arcseldon

5

Я спізнююсь, але я використовую Paros Proxy . Це в Java, так, крос-платформа. Хоча , якщо ви хотіли б , щоб він був упакований в якості додатку, є один тут на дні.



2

Здається, що безкоштовний GlimmerBlocker може зробити частину трюку.

Звичайно, він може блокувати всі види вмісту та трансформувати відповіді до того, як браузер їх отримає. Але насправді це може змінювати і запити, і відповіді . І хоча це не справжня налагодження, вона також пропонує ведення журналів. Отже, це може відповідати основним потребам :

У GlimmerBlocker працює 4 типи сценаріїв, а деякі об'єкти визначені лише для деяких типів сценаріїв:

  • глобальний проксі: цей параметр встановлює глобальні параметри проксі і може перевірити, наприклад, ім'я місцезнаходження, мережу AirPort.
  • модифікація запиту: це може змінити запитувану URL-адресу, надіслати відповідь на переспрямування в браузер або повернути текст / html назад у браузер.
  • розширення ключових слів. [Лише Safari, AvB]
  • перетворення: змінити відповідь, отриману веб-сервером, до того, як він буде відправлений назад на Safari [або будь-який браузер, налаштований для використання проксі, наданого GlimmerBlocker, AvB].

(Можна також використовувати його для включення різних скриптів Greasemonkey в отриману відповідь, не використовуючи надбудову Greasemonkey, як, наприклад, блокувати Flash, не встановлюючи жодної додатки.)


GlimmerBlocker - цікавий інструмент, але відмінний від того, що я шукаю. Я перередагував оригінальний опис, щоб видалити приклади перезапису та уточнив, що я просто прагну контролювати трафік, а не перетворювати його.
Дуг Гарріс

2

Ви можете легко налаштувати Fiddler для Mac за допомогою Parallels відповідно до інструкцій на їхньому сайті.

Єдине застереження полягає в тому, що вам потрібно вручну налаштувати свої мережеві параметри, щоб вказати на IP-адресу VM, але насправді це не велика угода.


7
Я б не назвав це "легко" - це вимагає придбання та встановлення vm-сервера та зовсім іншої операційної системи.
Джеймс Мур

У цій підказці є 5 записів, і лише одна - формат IPv4. Яку вибрати? :)
Олексій Сороколетов

1
Ви можете використовувати безкоштовне програмне забезпечення для віртуалізації, таке як VirtualBox Oracle разом з VM від modern.ie, якщо ви хочете запустити ОС Windows (через 90 днів її потрібно скинути) - не надто високий рівень замовлення для тих, хто має необхідні навички запустити просунутий проксі-сервер налагодження
iX3

Якщо це питання було відкритим - хтось повинен згадати Fiddler для Mac - telerik.com/download/fiddler, використовуючи Mono Framework ...
Mars Robertson

І це не працює для мене в macOS
tom10271

1

jMeter також може бути корисним; він розроблений для тестування продуктивності завантаження на веб-серверах, але все ж може робити все, що вам потрібно. jMeter написаний на Java, тому ви можете завантажити .jar файл, який працюватиме на Mac, Windows або Linux.



1

Якщо ви маєте справу з трафіком додатків або сторонніми інтеграціями API, які переходять через загальнодоступний Інтернет, вам слід спробувати Runscope (з них, повністю розкривши інформацію, я є співзасновником). Він фіксує HTTP-запити до будь-якої URL-адреси, надає прекрасний перегляд потоку для налагодження і дозволяє легко ділитися окремими запитами з іншими.


0

Ви також можете спробувати APIKitchen . Це допомагає вам налагоджувати та тестувати API HTTP та будь-які запити взагалі. Він також має офлайн-версію для тестування у ваших внутрішніх мережах. Не потрібно встановлення.

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