Wireshark против Firebug против Fiddler — плюсы и минусы?

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

Перенос данных с локального хоста...

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

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

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

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


person Michael Mao    schedule 24.11.2010    source источник
comment
Я бы не рекомендовал Charles, потому что над ним работает только один разработчик. Что, если он перестанет работать над приложением или его собьет автобус? Более того, похоже, что он не отвечает на запросы поддержки. Я бы потратил свои 50 долларов в другом месте. Что касается Fiddler, поддержка немного лучше, но они могут занять некоторое время, потому что это бесплатный инструмент. Что мне осталось? Вероятно, wireshark или mitm proxy.   -  person MasterJoe    schedule 06.02.2017
comment
Прокси-сервер mitm @ testerjoe2 чертовски медленный и не так хорош, как скрипач.   -  person baburao    schedule 14.07.2018


Ответы (7)


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

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

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

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

person mikek3332002    schedule 24.11.2010

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

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

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

person Macy Abbey    schedule 24.11.2010
comment
Действительно, Wireshark может обнаруживать проблемы с прокси-сервером и сервером nat, его также можно использовать как на клиенте, с которого вы подключаетесь, так и на сервере. - person Glenner003; 15.01.2014

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

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

person Alex    schedule 24.11.2010
comment
О, это кажется потрясающим. - person Macy Abbey; 24.11.2010
comment
Не могли бы вы уточнить, чем Чарльз отличается от кого-то вроде Скрипача? То, что вы упомянули выше, очень похоже на скрипача. В настоящее время я использую fiddler, но был бы рад использовать что-то лучше, если бы я получил от этого что-то большее. - person Jagmag; 24.11.2010
comment
Чарльз и Скрипач архитектурно очень похожи. Чарльз работает на Mac; Скрипач не будет. Charles написан на Java и стоит денег. Fiddler написан на C#, бесплатен и легко расширяем в .NET. - person EricLaw; 24.11.2010
comment
@EricLaw - Спасибо за это разъяснение. Это помогло. - person Jagmag; 24.11.2010
comment
Он действительно работает на Windows, Mac OSX и Linux. - person Casebash; 10.02.2012
comment
Почему это лучше, чем wireshark? - person Goles; 12.08.2013
comment
В wireshark трудно изолировать трафик по процессам - person beppe9000; 31.12.2015
comment
@EricLaw - Что происходит с пользователями Charles, когда что-то случается с единственным разработчиком, работающим над ним? Но поддержка Чарльза и Скрипача кажется столь же плохой. Никаких подсказок по моей проблеме так долго не было - вопросы/41902367/ - person MasterJoe; 06.02.2017
comment
@EricLaw - К сожалению, поддержка Fiddler стоит 1000 долларов в год, а форумы могут быть медленными (бесплатными). Что, если я хочу получить ответы только на 2-3 вопроса, подобных тому, который я только что задал вам. С тем же успехом я мог бы заплатить фрилансеру из upwork за 20 долларов или около того, чтобы он ответил на мои вопросы. - person MasterJoe; 06.02.2017
comment
Я отвечаю почти на каждый вопрос в группе Google Fiddler в течение одного дня. Но это не подходящее место для разговоров об этом. - person EricLaw; 07.02.2017

Скрипач каждый раз выигрывает по сравнению с Чарльзом.

Функция «настроить правила» fiddler не имеет аналогов ни в одном отладчике http. Возможность писать код для оперативного управления HTTP-запросами и ответами бесценна для меня и работы, которую я делаю в веб-разработке.

В скрипаче так много функций, которых у Чарльза просто нет и, вероятно, никогда не будет. Скрипач опережает на несколько световых лет.

person neimad    schedule 25.03.2013
comment
За исключением того, что скрипач бесполезен, когда вы не работаете под окнами. Вы также можете поместить прокси между ними, тогда вы можете сделать это самостоятельно (на С#). Например, mentalis.org/soft/projects/proxy . Скрипач не требуется. Дома у меня больше нет системы Windows - только Liluces на базе ARM. И я очень этому рад. - person Stefan Steiger; 29.11.2016
comment
Вы упомянули многие особенности скрипача, которых нет у Чарльза. Каковы эти особенности? - person MasterJoe; 18.01.2017

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

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

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

Минусы Чарльза Прокси:

  1. Расходы :-)
person Manu Manjunath    schedule 19.03.2012
comment
Fiddler предлагает более простое доверие HTTPS, чем Charles, предлагает более богатый набор функций сохранения и загрузки и отображает JSON/XML и другие форматы с использованием древовидной структуры. Это бесплатное программное обеспечение, и есть доступные инспекторы AMF, хотя я ими не пользовался. - person EricLaw; 26.03.2013
comment
@EricLaw: Да, но ваше бесплатное программное обеспечение (подпадающее под действие американских экспортных ограничений — небезопасная криптография) не работает в Linux (мой ARM-процессор Chromebook Linux с Debian). - person Stefan Steiger; 29.11.2016

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

person jburgess    schedule 12.09.2011

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

person Maxim Veksler    schedule 08.05.2014
comment
Что делает этот вариант достойным рассмотрения? - person ; 01.08.2014
comment
@JonofAllTrades запускается из командной строки. Каждая альтернатива обеспечивает различную реализацию, поэтому разнообразие в этом случае действительно служит цели. - person Maxim Veksler; 02.08.2014
comment
Maxim - Mitm — это инструмент, основанный на командной строке. Отсутствие графического интерфейса — проблема таких пользователей, как я. Можете ли вы сказать нам, когда использовать инструмент командной строки и когда использовать графический интерфейс? - person MasterJoe; 06.02.2017
comment
Когда вы подключаетесь к серверу по SSH и вам нужен прокси-сервер, возможно, mitmproxy спасет жизнь (если вы не готовы иметь отдельную среду с графическим интерфейсом для прокси-сервера). - person arithma; 29.08.2019
comment
есть пользовательский интерфейс для mitmproxy, docs.mitmproxy.org/stable/tools-mitmweb - person yeradis; 18.03.2020