В предыдущих работах, когда я работал на компьютере с Windows, я использовал Fiddler для просмотра транзакций HTTP и отладки.
Я специально отслеживаю транзакции HTTP для сайта ajax, над которым я работаю, чтобы убедиться, что сайт делает то, что я ожидаю. Переписывание HTTP (как предусмотрено Fiddler) желательно, но не обязательно.
Кто-нибудь может порекомендовать что-то подобное для использования на Mac?
Я нашел Чарльз Прокси . Это намного ближе к функциональности Fiddler. Это не бесплатно, но это может стоить цену.
Используйте Chrome и перейдите к chrome: // net-internals /
Это позволяет детальный анализ и дампы.
Мое любимое Mac-приложение для мониторинга трафика - HTTPScoop , я подробно описал это, а также использовал tcpdump из командной строки в этот пост, который я опубликовал в прошлом году .
Я использовал mitmproxy для перехвата HTTP-трафика. Это отличный инструмент, и вы можете использовать его для отладки мобильных устройств, а также любой другой операционной системы.
Не то, что вы спросили, но в Firefox надстройка Live HTTP Headers - это все, что мне нужно, если я хочу редактировать и повторно воспроизводить запросы, включая изменение URL-адреса и метода HTTP.
В Firebug Мониторинг сети показывает все запросы и ответы. Аналогично, в Safari панель Resources встроенного Web Inspector также покрывает большинство моих потребностей. (Включите веб-инспектор через настройки: Показать меню «Разработка» в строке меню .) В Chrome и Firefox есть аналогичные инструменты.
Когда все становится сложнее, я запускаю мой Wireshark пакетный анализатор. Однако, в отличие от Fiddler, Wireshark не позволяет вам изменить данные и не поддерживает такие вещи, как автоответчики, как, очевидно, делает Fiddler.
Для Wireshark см. Протокол передачи гипертекста (HTTP) для некоторой общей информации о захвате HTTP и Захват пакетов HTTP для отладки Apache , для некоторых примеров display filters. (Возможно, вы захотите установить для фильтра capture значение «port 80
», чтобы показать все запросы к этому порту и ответы от этого порта. Или ограничить на каком-нибудь сервере используйте capture filter "port 80 and Host www.google.com
".)
# Показать только 404: страница не найдена Http.response.code == 404 # Показать только определенные методы HTTP Http.request.method == " ПОСТ "|| http.request.method == "PUT" # Показывать только javascript http.content_type содержит "javascript"
Обратите внимание, что Wireshark может распаковать gzip или сдуть закодированные (сжатые) вещи на лету для вас. Это значительно облегчает чтение, поскольку большинство веб-серверов сжимают данные, которые они отправляют в браузер.
(Что касается автоответчиков: у превосходного JS Bin есть короткое видео о том, как использовать его для отладки запросов Ajax. Если вы не знаете JS Bin, то сначала просмотрите вводное видео.)
В дополнение к Чарльзу (уже упоминавшемуся), мне также нравится дополнениеHttpFoxдля Mozilla Firefox. Как и Чарльз, вы можете использовать его как на Mac, так и на Windows. Это легче, чем Чарльз, потому что он живет в браузере, что полезно для быстрого поиска неисправностей. Вот некоторая информация со страницы HttpFox:
HttpFox отслеживает и анализирует весь входящий и исходящий HTTP-трафик между браузером и веб-серверами.
Он направлен на то, чтобы предоставить браузеру Firefox функциональность, известную из таких инструментов, как HttpWatch или IEInspector.
Информация, доступная по запросу, включает в себя:
- Заголовки запросов и ответов
- Отправленные и полученные куки
- Параметры строки запроса
- Параметры POST
- Тело ответа
И скриншот:
Не прокси, но это помогает в отладке HTTP:
Просто запустите сканирование на интерфейсе, на котором вы собираетесь использовать HTTP-трафик, выполните трафик, а затем остановите сканирование и введите «HTTP» в качестве строки фильтра. После этого вы сможете проверить все пакеты HTTP-разговора. Открыв представление Packet Detail, вы можете открыть раздел HTTP, и он останется открытым между пакетами.
Это отличный инструмент, и вам не нужно менять прокси браузера. С другой стороны, он не может помочь с трафиком HTTPS, поскольку он зашифрован. (Хотя он может расшифровать SSL-соединения, использующие RSA )
Я опоздал, но - я использую Paros Proxy . Это на Java, так что кроссплатформенный. Хотя, если вы предпочитаете, чтобы он был упакован как приложение, есть один здесь внизу.
Не забудьте про Burp Suite. У них есть бесплатная версия. Это кроссплатформенная. http://portswigger.net/burp/
Кажется, что бесплатный GlimmerBlocker может сделать часть уловки.
Конечно, он может блокировать все виды контента и преобразовывать ответы до того, как браузер получит их. Но на самом деле он может изменять как запросы, так и ответы . И хотя это не настоящая отладка, она также предлагает логирование. Таким образом, это может удовлетворить основные потребности :
Внутри GlimmerBlocker выполняется 4 типа сценариев, и некоторые объекты определены только для некоторых типов сценариев:
- глобальный прокси: устанавливает глобальные настройки прокси и может проверять, например, название местоположения, сеть AirPort.
- запрос на изменение: это может изменить запрошенный URL-адрес, отослать ответ перенаправления в браузер или отправить текст/html обратно в браузер.
- расширение ключевых слов. [Только для Safari, AvB]
- transform: изменить ответ, полученный веб-сервером, прежде чем он будет отправлен обратно в Safari [или любой браузер, настроенный на использование прокси-сервера, предоставленного GlimmerBlocker, AvB].
(Можно также использовать его для включения различных скриптов Greasemonkey в полученный ответ, без использования дополнения Greasemonkey, например для блокировки Flash без установки какого-либо дополнения.)
Вы можете легко настроить Fiddler для Mac с помощью Parallels согласно инструкциям на их сайте.
Единственное предостережение заключается в том, что вам нужно вручную настроить параметры сети, чтобы они указывали на IP-адрес VM, но на самом деле это не так уж важно.
jMeter также может быть полезным; Он предназначен для тестирования производительности нагрузки на веб-серверах, но он все еще может делать то, что вам нужно. jMeter написан на Java, поэтому вы можете скачать файл .jar, который будет работать на Mac, Windows или Linux.
Анализатор пакетов какао очень полезен.
Если вы имеете дело с трафиком приложений или сторонними API-интеграциями, которые проходят через общедоступный Интернет, вам следует попробовать Runscope (из которых, полное раскрытие, я являюсь соучредителем). Он фиксирует HTTP-запросы на любой URL, дает вам представление потока Nice для отладки и позволяет легко делиться отдельными запросами с другими.
Вы также можете попробовать APIKitchen . Это поможет вам в отладке и тестировании HTTP API и любых запросов в целом. Он также имеет автономную версию для тестирования во внутренних сетях. Нет необходимости установки.