Wireshark vs Firebug vs Fiddler - prós e contras? [fechadas]

90

Recentemente, encontrei um problema em que um aplicativo CGI não estava respondendo. O sintoma é o Firefox exibindo:

Transferindo dados do localhost ...

Mas o fato é que não consigo ver nenhum tráfego do painel Net do Firebug, e o navegador permanece no mesmo palco para sempre.

Estou pensando sobre as maneiras de depurar este aplicativo, mas não consigo ver o código-fonte ou qualquer um de seus componentes Java / C ++ compilados, portanto, acho que um nível de diagnóstico de rede HTTP é um bom começo.

Tenho pouca experiência no Fiddler e no Wireshark, mas estou me perguntando se eles conseguirão um feedback / estatísticas melhores no nível de rede HTTP? Ouvi dizer que o Wireshark é avançado, mas poderia possivelmente introduzir um grande volume de tráfego, de forma que os administradores de sistema não gostassem muito dele. No momento, acho que o Firebug não me mostra informações suficientes.

Preciso coletar informações para que possa encaminhá-las ao cliente como prova.

Michael Mao
fonte
3
Eu não recomendaria Charles porque apenas um desenvolvedor trabalha nele. E se ele parar de trabalhar no aplicativo ou for atropelado por um ônibus? Além disso, parece que ele não responde aos pedidos de suporte. Eu gastaria meus $ 50 em outro lugar. Quanto ao Fiddler , o suporte é um pouco melhor, mas eles podem levar seu próprio tempo porque é uma ferramenta gratuita. O que sobrou? Provavelmente wirehark ou mitm proxy.
MasterJoe
1
@ testerjoe2 mitm proxy é lento como f * ck e não tão bom quanto o fiddler.
baburao

Respostas:

80

Wireshark, Firebug, Fiddler fazem coisas semelhantes - capturar o tráfego de rede.

  • O Wireshark captura qualquer tipo de pacote de rede. Ele pode capturar detalhes do pacote abaixo de TCP / IP (HTTP está no topo). Ele possui filtros para reduzir o ruído que captura.

  • O Firebug rastreia cada solicitação que a página do navegador faz e captura os cabeçalhos associados e o tempo gasto em cada estágio da solicitação ( DNS, recebimento, envio, ... ).

  • O Fiddler funciona como um proxy HTTP / HTTPS. Ele captura cada solicitação HTTP que o computador faz e registra tudo o que está associado a ela. Ele permite coisas como converter variáveis ​​de postagem em um formulário de tabela e editar / reproduzir solicitações. Ele não captura, por padrão, o tráfego localhost no IE, consulte o FAQ para a solução alternativa.

mikek3332002
fonte
39

O benefício do WireShark é que ele pode mostrar erros em níveis abaixo do protocolo HTTP. O Fiddler mostrará erros no protocolo HTTP.

Se você acha que o problema está em algum lugar na solicitação HTTP emitida pelo navegador, ou está apenas procurando mais informações em relação ao que o servidor está respondendo ou quanto tempo está levando para responder, o Fiddler deve fazer.

Se você suspeitar que algo pode estar errado no protocolo TCP / IP usado pelo seu navegador e o servidor (ou em outras camadas abaixo dele), vá com o WireShark.

Abadia Macy
fonte
2
Na verdade, o Wireshark pode descobrir problemas de proxy e servidor nat, ele também pode ser usado tanto no cliente de onde você está conectado quanto no servidor.
Glenner003 de
33

Nenhuma das opções acima, se você estiver em um Mac. Use Charles Proxy . É o melhor coletor de informações de rede / solicitação que já encontrei. Você pode visualizar e editar todas as solicitações enviadas e ver as respostas dessas solicitações em vários formulários, dependendo do tipo de resposta. Custa 50 dólares por uma licença, mas você pode baixar a versão de teste e ver o que você acha.

Se você estiver no Windows, eu ficaria com o Fiddler.

Alex
fonte
15
Seria possível para você explicar como Charles é diferente de algo como o Fiddler? O que você mencionou acima parece muito com violinista. Atualmente, uso o violinista, mas ficaria feliz em usar algo melhor se obtiver algo mais com ele.
Jagmag
27
Charles e Fiddler são arquitetonicamente semelhantes. Charles roda em um Mac; O Fiddler não vai. Charles é escrito em Java e custa dinheiro. O Fiddler é escrito em C #, gratuito e facilmente extensível em .NET.
EricLaw
7
Na verdade, funciona no Windows, Mac OSX e Linux
Casebash
11
Por que é melhor do que o wirehark?
Goles
3
Eu respondo a quase todas as perguntas do Grupo do Fiddler no Google em um dia. Mas este não é o lugar certo para conversar sobre isso.
EricLaw
15

O Fiddler sempre vence quando se compara a Charles.

O recurso de "personalizar regras" do fiddler é incomparável em qualquer depurador http. A capacidade de escrever código para manipular solicitações e respostas HTTP dinamicamente é inestimável para mim e para o trabalho que faço no desenvolvimento da web.

Existem tantos recursos para o fiddler que charles simplesmente não tem e provavelmente nunca terá. O Fiddler está anos-luz à frente.

neimad
fonte
1
Exceto que o violinista é inútil quando você não trabalha sob o Windows. Você também pode colocar um proxy no meio, então você mesmo pode fazer isso (em C #). Por exemplo mentalis.org/soft/projects/proxy . Não é necessário Fiddler. Eu não tenho mais um sistema Windows em casa - apenas Linuces baseado em ARM. E estou muito feliz com isso.
Stefan Steiger
Você mencionou muitos recursos do violinista que charles não possui. Quais são esses recursos?
MasterJoe
4

Se você estiver desenvolvendo um aplicativo que transfere dados usando AMF (bastante comum em um determinado conjunto de APIs da web GIS que uso regularmente), o Fiddler não fornece atualmente um decodificador AMF que permitirá que você visualize facilmente os dados binários em um formato legível. Charles fornece essa funcionalidade.

Jburgess
fonte
4

Eu uso Charles Proxy e Fiddler para minha depuração de nível HTTP / HTTPS.

Profissionais do Charles Proxy:

  1. Lida melhor com HTTPS (você obtém um certificado Charles que colocaria na lista de 'Autoridades confiáveis')
  2. Possui mais recursos como Carregar / Salvar Sessão (especialmente útil ao depurar várias páginas), Espelhar um site (útil para armazenar ativos em cache e, portanto, depurar mais rápido), etc.
  3. Conforme mencionado por jburgess, lida com AMF.
  4. Exibe JSON, XML e outros tipos de respostas em uma estrutura de árvore, facilitando a leitura. Exibe imagens em respostas de imagem em vez de dados binários.

Contras do Charles Proxy:

  1. Custo :-)
Manu Manjunath
fonte
9
O Fiddler oferece confiança HTTPS mais simples do que Charles, oferece um conjunto mais rico de Salvar / Carregar e exibe JSON / XML e outros formatos usando uma estrutura de árvore. É freeware e há inspetores AMF disponíveis, embora eu não os tenha usado.
EricLaw
1
@EricLaw: Sim, mas o seu "freeware" (sujeito à restrição de exportação americana - também conhecida como criptografia insegura) não funciona no Linux (meu Chromebook Linux com processador ARM com Debian).
Stefan Steiger
3

Para complementar a lista, também esteja ciente de http://mitmproxy.org/

Maxim Veksler
fonte
O que tornaria essa opção digna de consideração?
1
@JonofAllTrades é executado na linha de comando. Cada alternativa fornece uma implementação diferente, portanto, a variedade neste caso serve a um propósito.
Maxim Veksler
Maxim - Mitm é uma ferramenta baseada em linha de comando. A falta de GUI é um problema para usuários como eu. Você pode nos dizer quando usar a ferramenta de linha de comando e quando usar a interface do usuário?
MasterJoe de
Quando você está usando SSH em um servidor e precisa de um proxy, talvez mitmproxy salvasse sua vida (a menos que você esteja pronto para ter um ambiente separado com uma GUI para proxy.)
arithma
há uma IU para mitmproxy, docs.mitmproxy.org/stable/tools-mitmweb
yeradis