Procurando um proxy de depuração HTTP para Mac semelhante ao Fiddler no Windows [fechado]


240

Em trabalhos anteriores, quando trabalhei em uma máquina Windows, usei o Fiddler para visualizar transações e depuração HTTP.

Estou procurando especificamente monitorar as transações HTTP de um site ajax em que estou trabalhando para verificar se o site está fazendo o que eu esperava. Reescrever HTTP (conforme fornecido pelo Fiddler) é bom de se ter, mas não essencial.

Alguém pode recomendar algo semelhante para uso em um Mac?


4
Isso foi encerrado, mas ainda existe, portanto, é necessário adicionar: o Fiddler agora está em alfa no Mac OS.
boomhauer

1
não sei por que isso seria fechado? tem 113 votos positivos. não é como se isso fosse uma pergunta sobre estouro de pilha.
Genxgeek #

Leia a lógica diretamente acima esses comentários - "Perguntas que procuram produto, serviço, ou de aprendizagem recomendações materiais são off-topic"
Doug Harris

Inicie o Fiddler na máquina Windows próxima e configure seu MAC para proxy na máquina Windows e pronto! tudo no seu MAC será visto no Windows :)
Korayem

2
Para quem ficou realmente empolgado ao ler o comentário de @boomhauer: o Fiddler para OSX ainda está em Alpha, tendo sido tocado pela última vez em julho de 2013, requer a estrutura Mono (por isso é basicamente apenas um invólucro para a versão do Windows, não na verdade re-fatorado para Cocoa), e o lançamento tem a nota: "Nota do Mac: A estrutura WinForms no Mac é quase inutilmente incorreta. Sua melhor aposta é executar o Fiddler dentro de uma máquina virtual Linux ou Windows e apontar as configurações de proxy do Mac para esse . "
Anthony

Respostas:


130

Use o Chrome e navegue até o chrome: // net-internals /

Permite análises detalhadas e lixões.


1
Agradável. Alguma idéia de quando isso foi adicionado ao chrome?
Doug Harris

2
Não desculpe. Eu costumava trabalhar com o Fiddler no Windows, mas, ao mudar para um Mac, tropecei na net-internals enquanto procurava por recursos ocultos do Chrome.
22611 #

5
esta ferramenta parece "puro", mas como você pode ver toda a carga útil do pedido (ou seja GET cabeçalhos de solicitação?)
genxgeek

AFAIK, isso não oferece uma maneira de modificar os dados em trânsito, como o Fiddler faz com o FiddlerScript, o AutoResponder e os pontos de interrupção. Boa ferramenta, mas para diferentes fins.
iX3 20/05

33
essa ferramenta parece capturar apenas o tráfego do Chrome. Existe alguma maneira de usar essa ferramenta para capturar tráfego http de / para um processo específico?
morpheus

71

Encontrei Charles Proxy . É muito mais próximo da funcionalidade do Fiddler. Não é gratuito, mas pode valer o preço.


Apenas curioso: alguém aqui já o usou?
Arjan

Eu o usei por uma hora ou duas depois que o encontrei. A versão de teste tem algumas telas irritantes e uma restrição de 30 minutos, mas não acho que sejam irracionais. Eu estava procurando cabeçalhos específicos na resposta HTTP e pude vê-los facilmente.
Doug Harris

1
O bom de Charles é que ele está disponível para OSX e Windows; portanto, se você alterna com frequência, é uma boa ferramenta comum.
Justin Ohms

5
Uma funcionalidade importante que charles (e o violinista e talvez o webscarab) fornecem é a capacidade de interceptar e modificar solicitações, incluindo descriptografia https.
urban_raccoons

1
Uso Charles para descriptografar solicitações de https, Instagram, Facebook e outros aplicativos móveis. Basta apontar o Proxy do iPhone para Charles e eu posso ver como eles enviam dados e quais dados eles enviam!
Mário Carvalho

35

Eu usei mitmproxy para interceptar o tráfego HTTP. É uma ótima ferramenta e você pode usá-lo para depurar dispositivos móveis ou qualquer sistema operacional.


AMO ISSO! Aliás, para todas as crianças pequenas de script, caso você escreva código em algo que não seja JS, no navegador, esse é o ticket.
21718 Shane

30

Meu aplicativo mac favorito para monitorar o tráfego é o HTTPScoop , detalho isso, além de usar o tcpdump na linha de comando deste post que publiquei no ano passado .


Se você conhece o Wireshark (ou o menos poderoso Cocoa Packet Analyzer): você pode comparar o HTTPScoop com isso?
Arjan

1
O Analisador de Pacotes de Cacau também é bastante simples. No entanto, eu nunca descobri como filtrar alguma porta ou servidor endereço IP específico, e depois ver tanto o pedido e resposta ... Isso é feito facilmente em Wireshark. (Basta digitar smtpcomo filtro de visualização para ver todo o tráfego que utiliza o protocolo SMTP Or. tcp.port == 25De obter todo o tráfego para a porta 25, e suas respostas Or. http and ip.addr == xxxDe obter todo o tráfego HTTP para e de algum servidor.)
Arjan

1
O httpscoop parecia promissor, infelizmente, parece ter sido abandonado e não consegui capturar o tráfego do host local no 10.9.2. O último lançamento remonta a 2009 e o site anuncia a v2.0 que não parece ser a próxima: /
Jean

1
Eu tentei usar este aplicativo, é horrível em comparação com o violinista. Desejo capturar todo o tráfego e todas as portas, todas as interfaces, não a porta 80 no host local. Eu tentei adicionar as portas que eu queria através de preferências (com retirada). Isso não me ajudar como as coisas que eu queria monitorar estavam em duas interfaces diferentes por exemplo lo / en0
KnuturO

1
O link para o blog não está funcionando :(
Reg

19

Não é o que você pediu, mas no Firefox o complemento Live HTTP Headers é tudo o que eu preciso para editar e reproduzir solicitações, incluindo a alteração da URL e do método HTTP.

Cabeçalhos HTTP ao vivo

No Firebug, o Monitoramento de Rede mostra todas as solicitações e respostas. Da mesma forma, no Safari, o painel Recursos do Inspetor da Web interno também cobre a maioria das minhas necessidades. (Ative o Web Inspector através das preferências: Mostrar menu Desenvolver na barra de menus .) Chrome e Firefox têm ferramentas semelhantes.

Quando as coisas ficam mais complicadas, ligo meu sniffer de pacotes Wireshark . No entanto, diferentemente do Fiddler, o Wireshark não permite alterar os dados e não suporta coisas como respostas automáticas, como aparentemente o Fiddler.

Para o Wireshark, consulte HTTP (Hyper Text Transfer Protocol) para obter algumas informações genéricas de captura de HTTP e captura de pacotes HTTP para depurar o Apache , por exemplo, filtros de exibição . (Você pode querer definir a captura de filtro para " port 80", para mostrar todas as solicitações para essa porta, e as respostas de que a porta Ou, para limitar a algum servidor, use. Captura de filtro " port 80 and host www.google.com".) Como:

# Mostrar apenas 404: página não encontrada
http.response.code == 404

# Mostrar apenas certos métodos HTTP
http.request.method == "POST" || http.request.method == "PUT"

# Mostrar apenas javascript
http.content_type contém "javascript"

Observe que o Wireshark pode descomprimir o gzip ou desinflar rapidamente as coisas codificadas (compactadas). Isso facilita a leitura das coisas, pois a maioria dos servidores da Web comprime os dados que eles enviam para um navegador.

(Quanto aos respondentes automáticos: o excelente JS Bin possui um pequeno vídeo sobre como usá-lo para depurar solicitações do Ajax. Se você não conhece o JS Bin, primeiro assista ao vídeo de introdução.)


+1 para Firebug - Eu amo sua ferramenta de monitoramento de rede
Josh

Eu tentei, mas não consegui fazer uma nova solicitação para um URL diferente (no mesmo domínio) e não consegui descobrir como (de um GET para um POST, por exemplo).
Purefan

@Purefan, sem mais detalhes, não podemos ajudar; funciona para mim, veja a captura de tela que acabei de adicionar. Você pode ter encontrado o site mozdev.org/bugs/show_bug.cgi?id=25831
Arjan

7

Além de Charles (já mencionado), também gosto do complemento HttpFox para o Mozilla Firefox. Como Charles, você pode usá-lo no Mac e no Windows. É mais leve que o Charles, porque reside no navegador, útil para a solução rápida de problemas. Aqui estão algumas informações da página HttpFox:

O HttpFox monitora e analisa todo o tráfego HTTP de entrada e saída entre o navegador e os servidores da web.

O objetivo é trazer a funcionalidade conhecida de ferramentas como HttpWatch ou IEInspector para o navegador Firefox.

As informações disponíveis por solicitação incluem:

  • Cabeçalhos de solicitação e resposta
  • Cookies enviados e recebidos
  • Parâmetros de consulta
  • Parâmetros POST
  • Corpo de resposta

E uma captura de tela:

Captura de tela do complemento HttpFox para Mozilla Firefox


Isso não é compatível com as versões mais recentes do Firefox (Firedox 57 e Firedex Deveolper Edition 57)
Promather

6

Não é um proxy, mas ajuda na depuração de HTTP:

Simplesmente inicie uma varredura na interface em que o tráfego HTTP está ativado, execute o tráfego e pare a varredura e digite "HTTP" como a string de filtro. Você poderá inspecionar todos os pacotes da conversa HTTP. Com a visualização Detalhes do pacote aberta, você pode abrir a seção HTTP e ela permanecerá aberta entre os pacotes.

É uma ótima ferramenta para ter e não requer que você altere o proxy do navegador. Por outro lado, não pode ajudar com o tráfego HTTPS, pois é criptografado. (Embora possa descriptografar conexões SSL que usam RSA )


2
Apenas uma atualização: o Wireshark é problemático no OS X. Ele requer o X11, que não está mais incluído no OS X, então você acaba usando cerca de 200 MB de disco juntos.
Marko Bonaci

2
Apenas uma atualização na atualização do @MarkoBonaci, o Wireshark 2.x agora roda muito bem no OSX, dispensando a necessidade do X11.
0x7c0

@ MarkoBonaci - você deve apenas instalar com o qt.
Arcseldon

5

Estou atrasado, mas - uso o Paros Proxy . Está em Java, então, multiplataforma. Embora se você preferir que ele seja compactado como um aplicativo, há um aqui na parte inferior.



2

Parece que o GlimmerBlocker gratuito pode fazer parte do truque.

Obviamente, ele pode bloquear todo o tipo de conteúdo e transformar as respostas antes que o navegador as receba. Mas, de fato, pode modificar solicitações e respostas . E, embora não seja uma depuração verdadeira, também oferece log. Portanto, pode atender às necessidades básicas :

Existem 4 tipos de scripts em execução no GlimmerBlocker, e alguns objetos são definidos apenas para alguns dos tipos de script:

  • proxy global: define as configurações globais do proxy e pode testar, por exemplo, o nome do local, a rede AirPort.
  • solicitação de modificação: isso pode alterar o URL solicitado, devolver uma resposta de redirecionamento ao navegador ou enviar texto / html de volta ao navegador.
  • expansão de palavras-chave. [Somente Safari, AvB]
  • transformar: modifique a resposta recebida pelo servidor da web antes de ser enviada de volta ao Safari [ou qualquer navegador configurado para usar o proxy fornecido pelo GlimmerBlocker, AvB].

(Também é possível usá-lo para incluir vários scripts Greasemonkey na resposta recebida, sem usar um complemento Greasemonkey, como bloquear o Flash sem instalar nenhum complemento.)


O GlimmerBlocker é uma ferramenta interessante, mas diferente do que estou procurando. Reeditei a descrição original para remover os exemplos de reescrita e esclarecer que estou apenas procurando monitorar o tráfego e não transformá-lo.
Doug Harris

2

Você pode configurar facilmente o Fiddler para Mac usando o Parallels conforme as instruções em seu site.

A única ressalva é que você precisa definir manualmente as configurações de rede para apontar para o endereço IP da VM, mas não é realmente tão importante assim.


7
Eu não chamaria isso de "facilmente" - requer comprar e instalar um servidor VM e um sistema operacional totalmente diferente.
James Moore

Eu tenho 5 entradas nesta dica de ferramenta e apenas uma delas é no formato IPv4. Qual devo escolher? :)
Alex Sorokoletov

1
Você pode usar software de virtualização gratuito, como o VirtualBox da Oracle, juntamente com uma VM da modern.ie, se desejar executar um sistema operacional Windows (após 90 dias, ele precisa ser redefinido) - um pedido não muito alto para alguém com as habilidades necessárias para executar um avançado de depuração web procuração
IX3

Se esta questão estava aberto - alguém deveria mencionar Fiddler para Mac - telerik.com/download/fiddler usando o framework Mono ...
Mars Robertson

E ele não está funcionando para mim no MacOS
tom10271

1

O jMeter também pode ser útil; Ele foi projetado para testar o desempenho da carga em servidores Web, mas ainda pode fazer o que você precisa. O jMeter é escrito em Java, para que você possa baixar um arquivo .jar que será executado no Mac, Windows ou Linux.



1

Se você está lidando com tráfego de aplicativos ou integrações de API de terceiros que passam pela Internet pública, tente o Runscope (dos quais, divulgação completa, sou co-fundador). Ele captura solicitações HTTP para qualquer URL, oferece uma boa exibição de fluxo para depuração e facilita o compartilhamento de solicitações individuais com outras pessoas.


0

Você também pode experimentar o APIKitchen . Ele ajuda na depuração e no teste de APIs HTTP e em quaisquer solicitações em geral. Ele também possui uma versão offline para teste em suas redes internas. Nenhuma instalação é necessária.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.