воскресенье, 5 января 2014 г.

Свершилось! Fiddler (HTTP debugging proxy) портирован на Mac/Linux

Компания Telerik выпустила альфа версию популярного бесплатного HTTP снифера для Mac и Linux. Windows версия приложения портирована на Mac\Linux при помощи Mono Framework и требует его предварительной инсталляции. Скачать инсталлятор Fiddler для соответствующей платформы можно здесь. Обратите внимание на раздел “Mono configuration”. Скачать инсталлятор Mono для разных платформ можно на сайте проекта Mono.

Я поставил Fidler на мак и немного его протестировал. Далее мои наблюдения.

image

Как видно по скриншоту главного окна, внешний вид Fiddler на Mac выглядит в точности как приложение для Windows. Сымитированы главное меню, визуальные элементы, и даже стандартные (системные) диалоги. Ниже на скриншоте представлен, диалог выбора имени файла.

image

Скорее всего это связано с использованием соответствующих библиотек интерфейса пользователя для Mono, которые упрощают перенос с .NET Framework на Mono проектов написанных с использованием технологии Windows.Forms.

Необходимо отметить, что приложение для Mac имеет более ограниченную функциональность по сравнению с Windows версией:

  1. Отсутствует контекстное меню на центральном списке сессий. Это важно, т.к некоторым командам вы можете получить доступ только из контекстного меню.
  2. На этом же списке не работает перетягивание сессий в закладку Composer.
  3. Многие горячие клавиши, приведенные в главном меню, указаны для Windows и не работают под маком.
  4. Не работает интеграция с браузерами. Т.е. не возможно выполнить выбранный запрос в браузере.

Есть большое количество (особенно визуальных) дефектов:

  1. При вызове некоторых команд Fiddler время от времени крэшится. Особенно при попытке вызвать команду, которая требуют отображения окна для выбора имени файла.
  2. Есть большие проблемы с перерисовкой экрана (правой области с панелями). Она постоянно плохо перерисовывается. Если видите, что содержимое закладки плохо отрисовалось, рекомендую попереключать закладки, для принудительной их перерисовки.
  3. Над сплиттерами курсор мыши не меняет вид, при этом изменение размеров панелей работает.
  4. Приложение не правильно работает если с 2-мя экранами. Так если главное окно приложения разместить на втором экране, то пункты главного меню все равно отображаются на первом.

Ниже приведен диалог “Host Remapping” демонстрирующий типичные проблем в интерфейсе альфа версии Fiddler: перерисовка экрана и не корректное размещение элементов управления на диалоге.

image

При всех перечисленных недостатках, основная функциональность HTTP снифера работает более менее стабильно: запросы\ответы собираются. Их данные можно проанализировать в знакомом по Windows интерфейсе пользователя. Работают точки останова (breakpoints), можно приостановить выполнение запроса, модифицировать его и получить ответ.

Удобно, также, что Fiddler для разных операционных систем имеет единый формат лог файлов (*.saz). Так, лог собранный в Fiddler на Маке можно сохранить в файл и затем открыть, и проанализировать в приложении под Windows и на оборот.

Комментариев нет: