Ищите прокси-сервер для отладки HTTP для Mac, аналогичный Fiddler в Windows

292068
Doug Harris

В предыдущих работах, когда я работал на компьютере с Windows, я использовал Fiddler для просмотра HTTP-транзакций и отладки.

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

Кто-нибудь может порекомендовать что-то подобное для использования на Mac?

231
Это было закрыто, но все еще существует, поэтому необходимо добавить: Fiddler теперь в альфа для Mac OS. boomhauer 10 лет назад 4
я не знаю, почему это будет закрыто? у него 113 голосов. это не похоже на переполнение стека. JaJ 9 лет назад 1
Прочитайте обоснование непосредственно над этими комментариями: «Вопросы, касающиеся рекомендаций по продукту, услуге или учебному материалу, не относятся к теме» Doug Harris 9 лет назад 0
Запустите Fiddler на соседнем компьютере с Windows и настройте свой MAC для прокси на компьютере с Windows и вуаля! все на вашем MAC будет видно на Windows :) Korayem 9 лет назад 0
К твоему сведению, для тех, кто был действительно взволнован, читая комментарий @boomhauer: Fiddler для OSX * все еще * в Alpha, последний раз его коснулись в июле 2013 года, он требует фреймворка Mono (так что это просто оболочка для версии Windows, фактически не пересчитывается для Какао), и в выпуске есть примечание: «Примечание Mac: Платформа WinForms на Mac практически не работает с ошибками. Лучше всего запустить Fiddler внутри виртуальной машины Linux или Windows и указать настройки прокси Mac» в этом. " Anthony 8 лет назад 1
Для этого вы можете использовать Owasp Zap - он может быть вставлен как прокси-сервер на основе браузера или общесистемный прокси-сервер и перехватывает ВСЕ звонки на все веб-сайты (http и https), а также позволяет изменять и регистрировать все запросы. Он даже генерирует динамические сертификаты SSL на лету для всех сайтов. Вот краткое [учебное пособие на YouTube] (https://www.youtube.com/watch?v=lXoJQz6uIQ0) и [здесь также пошаговое описание процесса] (http://havrl.blogspot.ca/ 2015/03 / инспектирование-HTTP-трафик с использованием-OWASP-zed.html). Он предназначен для тестирования на проникновение, но отлично подходит и для этого случая. Brad Parks 7 лет назад 0

15 ответов на вопрос

127
brains_at_work

Используйте Chrome и перейдите к chrome: // net-internals /

Это позволяет детальный анализ и дампы.

Ницца. Есть идеи, когда это было добавлено в Chrome? Doug Harris 12 лет назад 1
Прошу прощения, но нет. Раньше я работал с Fiddler в Windows, но, переходя на Mac, я наткнулся на внутренние сети, ища скрытые функции Chrome. brains_at_work 12 лет назад 2
Это круто! Спасибо!!! w00t 12 лет назад 1
AAAWWWEEESOOOMMMEEE !!!!! rizidoro 12 лет назад 1
Это должно быть принято как ответ :) Спасибо за обмен! Muhammad Riyaz 10 лет назад 0
этот инструмент кажется "аккуратным", но как вы можете увидеть всю полезную нагрузку запроса (то есть заголовки запроса GET?) JaJ 9 лет назад 5
AFAIK, это не предлагает способ изменения данных в пути, как это делает Fiddler с FiddlerScript, AutoResponder и точками останова. Хороший инструмент, но для разных целей. iX3 9 лет назад 0
@Jaj: эта информация уже присутствует на вкладке сети DevTools oligofren 9 лет назад 0
этот инструмент, кажется, только захватывает хром-трафик. Есть ли способ использовать этот инструмент для захвата http трафика от / к конкретному процессу? morpheus 8 лет назад 30
это можно использовать для отладки трафика с симулятора iPhone hariszaman 8 лет назад 0
68
Doug Harris

Я нашел Чарльза Прокси . Это намного ближе к функциональности Fiddler. Это не бесплатно, но это может стоить цену.

Просто любопытно: кто-нибудь здесь когда-либо использовал это? Arjan 15 лет назад 0
Я использовал это в течение часа или двух после того, как я нашел это. Пробная версия имеет несколько раздражающих экранов и 30-минутное ограничение, но я не думаю, что это неразумно. Я искал конкретные заголовки в HTTP-ответе и смог легко их увидеть. Doug Harris 15 лет назад 0
Хорошая вещь о Чарльзе заключается в том, что он доступен как для OSX, так и для Windows, поэтому, если вы будете часто возвращаться назад и вперед, это хороший общий инструмент. Justin Ohms 11 лет назад 1
Важная функциональность, которую предоставляют charles (и fiddler, и, возможно, webscarab), - это возможность перехватывать и изменять запросы, включая расшифровку https. urban_raccoons 10 лет назад 5
Я использую Чарльз для расшифровки запросов https, Instagram, Facebook и других мобильных приложений. Просто укажите iPhone прокси Чарльзу, и я смогу увидеть, как они отправляют данные и какие данные они отправляют! Mário Carvalho 9 лет назад 1
Я не могу видеть распакованный ответ на мои запросы. Есть ли способ установить charles для автоматической распаковки и показа результата Harsh 8 лет назад 0
@ Харш, по моему опыту, Чарльз автоматически распаковывает ответ (если вы просматриваете текст или HTML-представление), если он каким-то образом сжимается для браузера. (Например, сжатие GZip.) Однако, если вы говорите о проблемах HTTPS (например, о шифровании), вам нужно будет установить сертификат Charles Proxy, который расшифрует их и сделает их удобочитаемыми. Если это не решает вашу проблему, рассмотрите возможность открытия вопроса здесь на сайте Stack Exchange или открытия билета через Charles Proxy. (Примечание: я не работаю в Charles Proxy, но я счастливый пользователь их программного обеспечения.) Spencer Doak 8 лет назад 0
О, и чтобы ответить на действительно старый вопрос «кто-нибудь здесь когда-либо использовал это?», Я использую это довольно часто. Чрезвычайно полезен для отладки в сети, и не для того, чтобы продвигать такое поведение, но если вы хотите попробовать свои силы в эксплуатации онлайн-игр, это тоже довольно полезно ;-) Spencer Doak 8 лет назад 0
30
Ted Naleid

Мое любимое Mac-приложение для мониторинга трафика - HTTPScoop, я подробно описал это, а также использовал tcpdump из командной строки в этом посте, который я опубликовал в прошлом году .

Если вы знаете Wireshark (или менее мощный анализатор пакетов какао): можете ли вы сравнить HTTPScoop с этим? Arjan 15 лет назад 0
Это немного проще, но гораздо проще в использовании, чем Wireshark IMO. Очень легко запускать и отслеживать http-трафик, но менее искусен в мониторинге других видов трафика. Я не знаком с анализатором пакетов какао. Ted Naleid 15 лет назад 0
Анализатор пакетов какао тоже довольно прост. Однако я так и не понял, как отфильтровать какой-либо конкретный порт или IP-адрес сервера, а затем увидеть * и * запрос и ответ ... Это легко сделать в Wireshark. (Просто введите "smtp" в качестве фильтра отображения, чтобы увидеть весь трафик, использующий протокол SMTP. Или `tcp.port == 25`, чтобы получить весь трафик на порт 25, * и * его ответы. Или` http and ip.addr = = xxx` для получения всего HTTP-трафика на некоторый сервер и с него.) Arjan 15 лет назад 1
httpscoop выглядел многообещающе, к сожалению, он, кажется, заброшен, и я не смог перехватить трафик localhost на 10.9.2. Последний релиз датируется 2009 годом, и на сайте размещается анонс предстоящей версии 2.0, которая, похоже, не выходит: / Jean 10 лет назад 1
у меня не работает János 9 лет назад 0
Извините, это приложение - кусок мусора по двум причинам. Он имеет 3 кнопки, и автор все еще должен предоставить видео о том, как его использовать. Не забудем упомянуть, что когда вы нажимаете scoop и обновляете страницу браузера, абсолютно ничего не появляется! The Muffin Man 9 лет назад 0
Я пытался использовать это приложение, оно ужасно по сравнению с скрипачом. Я хочу захватить весь трафик и все порты, все интерфейсы, а не порт 80 на localhost. Я попытался добавить порты, которые я хотел через предпочтения (без совка). Это не помогло мне, так как я хотел контролировать два разных интерфейса, например, lo / en0 KnuturO 8 лет назад 0
Ссылка на блог не работает :( Reg 7 лет назад 0
27
eikes

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

ЛЮБИТЕ ЭТО! Кстати, для всех скриптовых детишек, если вы пишете код не в JS, а в браузере, то это БИЛЕТ. Shane 6 лет назад 0
19
Arjan

Не то, что вы спросили, но в Firefox надстройка Live HTTP Headers - это все, что мне нужно, если я хочу редактировать и повторно воспроизводить запросы, включая изменение URL-адреса и метода HTTP.

Живые HTTP-заголовки

В Firebug Сетевой мониторинг показывает все запросы и ответы. Аналогично, в Safari панель «Ресурсы» встроенного веб-инспектора также покрывает большинство моих потребностей. (Включите веб-инспектор через настройки: Показать меню «Разработка» в строке меню .) В Chrome и Firefox есть аналогичные инструменты.

Когда все становится сложнее, я запускаю мой анализатор пакетов Wireshark . Однако, в отличие от Fiddler, 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 15 лет назад 0
Я попробовал это, но я не мог сделать новый запрос к другому URL (в том же домене) и не мог найти как (например, от GET до POST). Purefan 10 лет назад 0
@Purefan, без более подробной информации мы не можем помочь; это работает для меня, смотрите скриншот, который я только что добавил. Возможно, вы столкнулись с https://www.mozdev.org/bugs/show_bug.cgi?id=25831 Arjan 10 лет назад 0
7
Chris W. Rea

В дополнение к Чарльзу (уже упомянутому), мне также нравится дополнение HttpFox для Mozilla Firefox. Как и Чарльз, вы можете использовать его как на Mac, так и на Windows. Это легче, чем Чарльз, потому что он живет в браузере, что полезно для быстрого устранения неполадок. Вот некоторая информация со страницы HttpFox:

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

Он направлен на то, чтобы перенести в браузер Firefox функциональность, известную из таких инструментов, как HttpWatch или IEInspector.

Информация, доступная по запросу, включает в себя:

  • Заголовки запросов и ответов
  • Отправленные и полученные куки
  • Параметры строки запроса
  • Параметры POST
  • Тело ответа

И скриншот:

Снимок экрана дополнения HttpFox для Mozilla Firefox

Это не совместимо с более новыми версиями Firefox (Firedox 57 и Firedex Deveolper Edition 57) Promather 6 лет назад 0
6
w00t

Не прокси, но это помогает в отладке HTTP:

Просто запустите сканирование на интерфейсе, для которого вы собираетесь использовать HTTP-трафик, выполните трафик, а затем остановите сканирование и введите «HTTP» в качестве строки фильтра. После этого вы сможете проверить все пакеты HTTP-разговора. Открыв представление Packet Detail, вы можете открыть раздел HTTP, и он останется открытым между пакетами.

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

Просто обновление: Wireshark - это проблема для OS X. Для него требуется X11, который больше не входит в OS X, так что в итоге вы используете около 200 МБ диска вместе. Marko Bonaci 9 лет назад 2
Просто обновление для @MarkoBonaci, Wireshark 2.x теперь отлично работает на OSX, избавив от необходимости X11. 0x7c0 8 лет назад 1
@Stemartin спасибо за информацию. Marko Bonaci 8 лет назад 0
@MarkoBonaci - вы должны просто установить с помощью qt. arcseldon 8 лет назад 0
5
Abhinav Gupta

Я опоздал, но - я использую Paros Proxy . Это на Java, так что кроссплатформенный. Хотя, если вы предпочитаете, чтобы оно было упаковано как приложение, здесь внизу есть одно .

4
smileBot

Не забудьте про Burp Suite. У них есть бесплатная версия. Это кроссплатформенная. http://portswigger.net/burp/

2
Arjan

Кажется, что бесплатный GlimmerBlocker может сделать часть уловки.

Конечно, он может блокировать все виды контента и преобразовывать ответы до того, как браузер получит их. Но на самом деле это может изменить как запросы, так и ответы . И хотя это не настоящая отладка, она также предлагает логирование. Таким образом, это может удовлетворить основные потребности :

Внутри GlimmerBlocker выполняется 4 типа сценариев, а некоторые объекты определены только для некоторых типов сценариев:

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

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

GlimmerBlocker - интересный инструмент, но отличный от того, что я ищу. Я отредактировал оригинальное описание, чтобы удалить примеры переписывания и уточнить, что я просто хочу отслеживать трафик, а не преобразовывать его. Doug Harris 14 лет назад 0

Похожие вопросы