Вопрос Поиск HTTP-отладочного прокси для Mac, похожего на Fiddler на Windows [закрыто]


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

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

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


229


происхождения


Это было закрыто, но все еще существует, поэтому необходимо добавить: Fiddler теперь находится в alpha для mac os. - boomhauer
Я не знаю, почему это было бы закрыто? он имеет 113 upvotes. это не значит, что это был вопрос о переполнении стека. - JaJ
Прочтите обоснование непосредственно над этими комментариями - «Вопросы, требующие рекомендаций по продуктам, услугам или учебным материалам, не соответствуют теме», - Doug Harris
Fireup Fiddler на ближайшей машине Windows и настройте свой MAC на прокси-сервер поверх Windows-машины и вуаля! все на вашем MAC будет видно на Windows :) - Korayem
FYI, для тех, кто очень волновался, прочитав комментарий @boomhauer: Fiddler для OSX все еще в Alpha, последний раз был затронут в июле 2013 года, для этого требуется платформа Mono (так что это в основном просто оболочка для версии Windows, а не фактическая переоценка для Cocoa), а в выпуске есть заметка: «Mac Note: WinForms фреймворк на Mac почти бесполезен. Лучше всего запустить Fiddler внутри виртуальной машины Linux или Windows и указать настройки прокси-сервера Mac ». - Anthony


ответы:


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

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


127



Ницца. Любая идея, когда это было добавлено в хром? - Doug Harris
Прошу прощения, но нет. Раньше я работал с Fiddler в Windows, но, перейдя на Mac, я наткнулся на сетевые элементы, ища скрытые функции Chrome. - brains_at_work
Это круто! Благодаря!!! - w00t
этот инструмент кажется «опрятным», но как вы можете видеть всю полезную нагрузку запроса (т. е. заголовки запроса GET?) - JaJ
этот инструмент только, кажется, захватывает хром-трафик. Есть ли способ использовать этот инструмент для захвата http-трафика из / в конкретный процесс? - morpheus


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


68



Просто любопытно: кто-нибудь здесь когда-либо использовал его? - Arjan
Я использовал его в течение часа или двух после того, как нашел его. В пробной версии есть некоторые экраны для nag и ограничение 30 минут, но я не думаю, что это необоснованно. Я искал конкретные заголовки в ответе HTTP, и я смог их легко увидеть. - Doug Harris
Хорошая вещь о Чарльзе заключается в том, что он доступен как для OSX, так и для Windows, поэтому, если вы часто бываете взад и вперед, это хороший общий инструмент. - Justin Ohms
Важной функциональностью, которую charles (и скрипач и, возможно, webscarab) обеспечивает, является возможность перехвата и изменения запросов, включая дешифрование https. - urban_raccoons
Я использую Charles для дешифрования запросов HTTPS от Instagram, Facebook и других мобильных приложений. Просто укажите iPhone Proxy для Charles, и я могу видеть, как они отправляют данные и какие данные они отправляют! - Mário Carvalho


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


30



Если вы знаете Wireshark (или менее мощный анализатор пакетов Cocoa): можете ли вы сравнить HTTPScoop с этим? - Arjan
Это довольно просто, но гораздо проще в использовании, чем wirehark IMO. Очень легко запускать и отслеживать http-трафик, но менее умело контролировать другие виды трафика. Я не знаком с анализатором пакетов какао. - Ted Naleid
Анализатор пакетов Cocoa довольно прост. Однако я никогда не выяснял, как фильтровать определенный IP-адрес порта или сервера, а затем видеть и то и другое запрос и ответ ... Это легко сделать в Wireshark. (Просто введите smtp в качестве фильтра отображения, чтобы увидеть весь трафик, который использует протокол SMTP. Или tcp.port == 25 чтобы получить весь трафик до порта 25, а также его ответы. Или http and ip.addr == xxx чтобы получить весь HTTP-трафик на и с какого-либо сервера.) - Arjan
httpscoop выглядел многообещающим, к сожалению, он кажется заброшенным, и я не смог захватить локальный трафик 10.9.2. Последний релиз датируется 2009 годом, а веб-сайт рекламирует предстоящие версии v2.0, которые, похоже, не ожидаются: / - Jean
не работает для меня - János


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


26



УБЕДИТЕСЬ ЭТО! Кстати, для всех сценаристов детишек, если вы пишете код в чем-то другом, кроме JS, сидящего в браузере, эта вещь - билет. - Shane


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

Live HTTP Headers

В Firebug, Сетевой мониторинг показывает все запросы и ответы. Аналогичным образом, в Сафари Панель ресурсов встроенный веб-инспектор покрывает большинство моих потребностей. (Включите веб-инспектор с помощью настроек: Показать меню «Разработка» в строке меню.) У 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, сначала просмотрите вступительное видео.)


19



+1 для Firebug - мне нравится их инструмент сетевого мониторинга - Josh
Я попробовал, но я не мог сделать новый запрос на другой URL-адрес (в том же домене) и не мог найти, как (от GET до POST, например). - Purefan
@Purefan, без каких-либо подробностей мы не можем помочь; он работает для меня, см. скриншот, который я только что добавил. Возможно, вы столкнулись mozdev.org/bugs/show_bug.cgi?id=25831 - Arjan


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

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

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

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

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

И, скриншот:

Screenshot of HttpFox add-on for Mozilla Firefox


7



Это несовместимо с новыми версиями Firefox (Firedox 57 и Firedex Deveolper Edition 57) - Promather


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

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

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


6



Просто обновление: Wireshark является болью в OS X. Он требует X11, который больше не включен в OS X, поэтому вы в конечном итоге используете около 200 МБ диска. - Marko Bonaci
Просто обновление для обновления @MarkoBonaci, Wireshark 2.x теперь отлично работает на OSX, что избавило от необходимости использовать X11. - stedotmartin
@stemartin благодарит за информацию. - Marko Bonaci
@MarkoBonaci - вы должны просто установить вместо него qt. - arcseldon


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


5





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


4





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

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

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

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

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


2



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