235

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

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

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

15 ответов15

128

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

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

69

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

30

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

28

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

19

Не то, что вы спросили, но в 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 ».) Подобно:

# Show only 404: page not found
http.response.code == 404

# Show only certain HTTP methods
http.request.method == "POST" || http.request.method == "PUT"

# Show only javascript
http.content_type contains "javascript"

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

(Что касается автоответчиков: отличный JS Bin имеет короткое видео о том, как использовать его для отладки Ajax-запросов. Если вы не знаете JS Bin, сначала просмотрите вводное видео.)

7

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

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

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

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

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

И скриншот:

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

6

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

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

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

5

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

4

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

2

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

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

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

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

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

2

Вы можете легко настроить Fiddler для Mac, используя Parallels, следуя инструкциям на их сайте.

Единственное предостережение заключается в том, что вам нужно вручную настроить параметры сети, чтобы они указывали на IP-адрес виртуальной машины, но на самом деле это не так уж важно.

1

jMeter также может быть полезным; Он предназначен для тестирования производительности нагрузки на веб-серверах, но он все еще может делать то, что вам нужно. jMeter написан на Java, поэтому вы можете скачать файл .jar, который будет работать на Mac, Windows или Linux.

1

Анализатор пакетов какао очень полезен.

1

Если вы имеете дело с трафиком приложений или сторонними API-интеграциями, которые проходят через общедоступный Интернет, вам следует попробовать Runscope (из которых, полное раскрытие, я являюсь соучредителем). Он захватывает HTTP-запросы к любому URL, дает вам хороший вид потока для отладки и позволяет легко делиться отдельными запросами с другими.

0

Вы также можете попробовать APIKitchen. Это поможет вам в отладке и тестировании HTTP API и любых запросов в целом. Он также имеет автономную версию для тестирования во внутренних сетях. Нет необходимости установки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .