Wireshark vs Firebug vs Fiddler - плюсы и минусы? [закрыто]

91

Недавно я столкнулся с проблемой, когда приложение CGI не отвечает. Симптомом является отображение Firefox:

Передача данных с localhost ...

Но дело в том, что я не вижу никакого трафика с панели Firebug Net, а браузер просто остается на той же сцене навсегда.

Я думаю о способах отладки этого приложения, но я не вижу исходный код или какие-либо его скомпилированные компоненты Java / C ++, поэтому я считаю, что уровень диагностики сети HTTP - хорошее начало.

У меня мало опыта работы с Fiddler и Wireshark, просто интересно, получат ли они лучшую обратную связь / статистику на уровне сети HTTP? Я слышал, что Wireshark является продвинутым, но, возможно, может вызвать большой объем трафика, поэтому системным администраторам он не очень нравится. В настоящее время я думаю, что Firebug не показывает мне достаточно информации.

Мне нужно собрать информацию, чтобы затем отправить клиенту в качестве доказательства.

Майкл Мао
источник
3
Я бы не рекомендовал Чарльза, потому что над ним работает только один разработчик. Что, если он перестанет работать с приложением или его сбьет автобус? Более того, похоже, он не отвечает на запросы поддержки. Я бы потратил свои 50 долларов в другом месте. Что касается Fiddler , поддержка немного лучше, но они могут не торопиться, потому что это бесплатный инструмент. Что у меня осталось? Наверное, wirehark или mitm-прокси.
MasterJoe
1
@ testerjoe2 mitm прокси медленный как еб * ск и не так хорош, как fiddler.
baburao

Ответы:

82

Wireshark, Firebug, Fiddler делают похожие вещи - захватывают сетевой трафик.

  • Wireshark перехватывает любой сетевой пакет. Он может захватывать детали пакета ниже TCP / IP (HTTP находится вверху). У него есть фильтры для уменьшения улавливаемого шума.

  • Firebug отслеживает каждый запрос, который делает страница браузера, и фиксирует связанные заголовки и время, затрачиваемое на каждый этап запроса ( DNS, получение, отправка, ... ).

  • Fiddler работает как прокси HTTP / HTTPS. Он фиксирует каждый HTTP-запрос, который делает компьютер, и записывает все, что с ним связано. Это позволяет такие вещи, как преобразование переменных сообщения в табличную форму и редактирование / воспроизведение запросов. По умолчанию он не захватывает трафик localhost в IE. Обходной путь см. В FAQ.

mikek3332002
источник
41

Преимущество WireShark в том, что он может показывать вам ошибки на уровнях ниже протокола HTTP. Fiddler покажет вам ошибки в протоколе HTTP.

Если вы думаете, что проблема где-то в HTTP-запросе, выданном браузером, или вы просто ищете дополнительную информацию о том, чем отвечает сервер или сколько времени требуется для ответа, Fiddler должен сделать это.

Если вы подозреваете, что что-то не так в протоколе TCP / IP, используемом вашим браузером и сервером (или на других уровнях ниже), используйте WireShark.

Аббатство Мэйси
источник
2
Действительно, Wireshark может обнаруживать проблемы с прокси-сервером и nat-сервером, его также можно использовать как на клиенте, с которого вы подключаетесь, так и на сервере.
Glenner003
33

Ничего из вышеперечисленного, если у вас Mac. Используйте Charles Proxy . Это лучший сборщик информации о сети / запросах, который я когда-либо встречал. Вы можете просматривать и редактировать все исходящие запросы, а также видеть ответы на эти запросы в нескольких формах, в зависимости от типа ответа. Лицензия стоит 50 долларов, но вы можете скачать пробную версию и посмотреть, что вы думаете.

Если вы используете Windows, я бы просто остался с Fiddler.

Alex
источник
15
Не могли бы вы подробнее рассказать о том, чем Чарльз отличается от кого-то вроде Скрипача? То, что вы упомянули выше, очень похоже на скрипача. В настоящее время я использую скрипач, но был бы рад использовать что-то получше, если бы я получил от него что-то большее.
Jagmag
27
Чарльз и Фиддлер архитектурно очень похожи. Чарльз работает на Mac; Fiddler не будет. Чарльз написан на Java и стоит денег. Fiddler написан на C #, бесплатен и легко расширяется в .NET.
EricLaw
7
Он действительно работает в Windows, Mac OSX и Linux
Casebash
11
Почему лучше wirehark?
Goles
3
Я отвечаю почти на все вопросы в группе Google Fiddler в течение одного дня. Но здесь не место для разговоров об этом.
EricLaw
15

Fiddler всегда выигрывает по сравнению с Чарльзом.

Функция "настроить правила" скрипта не имеет аналогов ни в одном отладчике http. Возможность писать код для оперативного управления http-запросами и ответами бесценна для меня и моей работы в области веб-разработки.

У скрипача так много возможностей, которых у Чарльза просто нет и, скорее всего, никогда не будет. Fiddler впереди на световые годы.

Neimad
источник
1
Только вот скрипач бесполезен, когда вы не работаете под окнами. Вы также можете поместить прокси-сервер между ними, тогда вы сможете сделать это самостоятельно (на C #). Например mentalis.org/soft/projects/proxy . Скрипач не требуется. У меня дома больше нет оконной системы - только Linuces на базе ARM. И я очень этому рад.
Stefan Steiger
Вы упомянули о многих функциях скрипачей, которых нет у Чарльза. Что это за особенности?
MasterJoe
5

Я использую Charles Proxy и Fiddler для отладки уровня HTTP / HTTPS.

Плюсы Чарльза Прокси:

  1. Лучше обрабатывает HTTPS (вы получаете сертификат Charles, который нужно поместить в список доверенных органов)
  2. Имеет больше функций, таких как загрузка / сохранение сеанса (особенно полезно при отладке нескольких страниц), зеркальное отображение веб-сайта (полезно для кэширования ресурсов и, следовательно, более быстрой отладки) и т. Д.
  3. Как упоминалось jburgess, обрабатывает AMF.
  4. Отображает JSON, XML и другие ответы в древовидной структуре, что упрощает чтение. Отображает изображения в ответах на изображения вместо двоичных данных.

Минусы Charles Proxy:

  1. Стоимость :-)
Ману Манджунатх
источник
9
Fiddler предлагает более простое доверие HTTPS, чем Charles, предлагает более богатый набор функций сохранения / загрузки и отображает JSON / XML и другие форматы с использованием древовидной структуры. Это бесплатное программное обеспечение, и есть доступные инспекторы AMF, хотя я ими не пользовался.
EricLaw
1
@EricLaw: Да, но ваше «бесплатное ПО» (с учетом американских ограничений на экспорт - небезопасная криптография) не работает в Linux (мой ARM-процессор Chromebook Linux с Debian).
Stefan Steiger
4

Если вы разрабатываете приложение, которое передает данные с использованием AMF (довольно часто встречается в конкретном наборе веб-API ГИС, которые я использую регулярно), Fiddler в настоящее время не предоставляет декодер AMF, который позволит вам легко просматривать двоичные данные в удобном для пользователя виде. читаемый формат. Чарльз предоставляет эту функцию.

Jburgess
источник
3

Чтобы дополнить список, также обратите внимание на http://mitmproxy.org/

Максим Векслер
источник
Что делает этот вариант достойным рассмотрения?
1
@JonofAllTrades запускается из командной строки. Каждая альтернатива обеспечивает другую реализацию, поэтому разнообразие в данном случае служит определенной цели.
Максим Векслер
Максим - Mitm - это инструмент на основе командной строки. Отсутствие графического интерфейса - проблема для таких пользователей, как я. Можете ли вы сказать нам, когда использовать инструмент командной строки, а когда использовать графический интерфейс?
MasterJoe
Когда вы подключаетесь по SSH к серверу и вам нужен прокси-сервер, возможно, mitmproxy спасет вам жизнь (если вы не готовы иметь отдельную среду с графическим интерфейсом для прокси-сервера.)
arithma
есть пользовательский интерфейс для mitmproxy, docs.mitmproxy.org/stable/tools-mitmweb
yeradis