Como faço para que o Fiddler pare de ignorar o tráfego para o host local?

143

Ao usar o Fiddler para monitorar solicitações e respostas HTTP no Internet Explorer, ele ignora todo o tráfego direcionado para http: // localhost .

Eu não
fonte
Eu acho que isso é apenas um problema no IE <9, certo?
18114 Josh Mouch
Hum ... meu tráfego localhost não é ignorado por padrões e eu testá-lo com o IE 11 também.
M3nda 17/04
Eu também tive que mudar de IIS para o IIS Express
niico
O Fiddler costumava ser essa ótima ferramenta, mas agora é apenas um pesadelo de configuração.
O homem de muffin

Respostas:

100

Para fazer com que o Fiddler capture o tráfego quando você estiver depurando no host local, depois de pressionar F5 para iniciar a alteração, mude o endereço para que o host local tenha um "." depois disso.

Por exemplo, você inicia a depuração e tem o seguinte URL na barra de endereços:

http: // localhost: 49573 / Default.aspx

Altere para:

http://localhost.:49573/Default.aspx

Pressione Enter e o Fidder começará a captar seu tráfego.

Eu não
fonte
3
Doçura. Tão simples e eficaz.
Bradley Mountford
12
que funciona para cassini .. não iis que você precisa para usar se você estiver se conectando a um site ou serviço em SSL ...
user20358
Agradável! Funcionou perfeitamente - não pode ser mais simples.
narayan
1
Não funcionou para mim usando o cygwin e curl com o seguinte comando: curl -X POST -H "application / json" -d '{"name": {"firstName": "eli", "lastName": "kool" }} 'localhost.:61444/Inbound/Catch
Ilia Koulikov
15
O WebAPI não funciona com o host local. ele diz Bad Request - inválido Hostname
Pramod Jangam
90

O site do violinista trata essa questão diretamente.

Existem várias soluções sugeridas, mas a mais direta é simplesmente usar o nome da máquina em vez de "localhost" ou "127.0.0.1":

http://machinename/mytestpage.aspx
Matt Dillard
fonte
Não sei por que o site do Fiddler não sugere a sugestão "adicionando um período após o localhost", que eu acho que é o melhor. Isso é especialmente verdade em alguns ambientes de servidor em que trabalho onde localhost é a única coisa que posso usar (devido a controles ActiveX, permissões e outros enfeites).
18714 Josh Mouch
3
@ Joshouch Porque alguns servidores da web rejeitam localhost.como um nome de host inválido.
Aaron Jensen
3
localhost.e machinenameé rejeitado no meu caso.
O Muffin Man
2
Como observado, "localhost". não funciona em muitas APIs (ou 127.0.0.1). Eu usei a modificação " localhost.fiddler " que funcionou perfeitamente para mim.
Vman
43

A resposta correta é que o Fiddler ignora o tráfego direcionado ao Localhost, mas sim que a maioria dos aplicativos é codificada para ignorar proxies (dos quais o Fiddler é um) para solicitações direcionadas ao localhost.

Portanto, as várias soluções alternativas disponíveis: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/MonitorLocalTraffic

EricLaw
fonte
1
em abril de 2013: fiddler2.com/documentation/Configure-Fiddler/Tasks/… ps obrigado pela incrível ferramenta Eric.
Pete
A adição de um período ao final do host local é o melhor truque, e o site do violinista não menciona esse.
18714 Josh Mouch
Tentei as outras soluções nesta página: Adicionando um ponto final, alterando o nome do host de 'localhost "para o nome da minha máquina. Nem funcionou. Substituindo" localhost "por" ipv4.fiddler ", mencionado no documento de soluções alternativas, funcionou.
Simon Tewsi
Em situações em que o endereço é codificado nos arquivos do projeto que ficam em uma biblioteca de código-fonte, distribuídos para todos os desenvolvedores (pense no Mercurial / Git) em uma equipe ou que todos os desenvolvedores não têm um violinista, essas soluções não são realistas e causam mais problemas. problemas do que eles resolvem. O que é necessário é uma maneira de o violinista operar fora de um projeto e, portanto, ter impacto nulo no projeto ou em sua configuração.
User2960136
39

O Fiddler v4.5.1.0 permitirá que você substitua "localhost" por "localhost.fiddler" e apresente localhost como o nome do host do servidor de recebimento em execução na sua máquina.

Isso evita erros de "host não reconhecido" ao conectar-se a serviços WCF com o servidor da Web incorporado que o visual studio usa.

Em vez de http://localhost:51900/service.wcfvocê pode usarhttp://localhost.fiddler:51900/service.wcf

Jonathan
fonte
2
FUNCIONA PERFEITAMENTE! .. Devido à configuração de rede do meu trabalho, nenhuma das outras sugestões funcionou. Este é o único truque que funcionou para mim.
Zorthgo
@Zorthgo É bom ouvir isso. :)
Jonathan
3

O uso do Fiddler v4.6 e a configuração padrão não pôde ver nenhum tráfego do 'localhost'. Tentei muitas sugestões aqui, mas nada funcionou.

Ative a Ajuda -> Resolução de problemas e pode ver muito mais solicitações. As sessões foram marcadas em uma fonte de strike-through e o motivo apresentado foi "Oculto devido à barra de status> Filtro de processo".

Encontrei esta resposta de Eric Lawrence para uma pessoa com o mesmo problema http://www.telerik.com/forums/fiddler-not-capturing-ios-traffic-even-though-echo-service-works

basicamente, o que fazer é: Olhe para a barra de status na parte inferior da janela do Fiddler, a segunda pequena "bandeja" nessa barra provavelmente diz algo como "Navegadores da Web". Clique nele e depois mude para "Todos os processos".

Barra de status do violinista

Riga
fonte
2

verifique se Monitorar todas as conexões está marcado. ele não funciona para mim, talvez a porta seja diferente, eu preciso que você veja o requestprequest no meu site pelo gmail, o meu site está no win xp e iis5 (minha própria máquina)

user88064
fonte
2

Para o Fiddler capturar o tráfego do host local no IIS local, há 3 etapas (funcionou no meu computador):

  1. Clique em Ferramentas> Opções do Fiddler. Verifique se a opção Permitir que clientes remotos se conectem está marcada. Feche o violinista.

insira a descrição da imagem aqui

  1. Crie um novo DWORD chamado ReverseProxyForPort dentro de KEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Fiddler2. Defina o DWORD para a porta 80 (escolha decimal aqui). Reinicie o Fiddler.

insira a descrição da imagem aqui

  1. Adicione a porta 8888 aos endereços definidos no seu cliente. Por exemplo localhost: 8888 / MyService / WebAPI / v1 /
ozanmut
fonte
Sim, essas configurações tornam o violinista em execução como proxy reverso, de modo que encaminha solicitações de entrada para uma porta diferente. Neste exemplo, ele reencaminha os pedidos feitos a porta 8888 para 80.
ozanmut
O mais complexo para mim era ignorar completamente o host local e enviar todo o outro tráfego para ser processado pelo violinista. Você deve ignorar o host local, MAS também, excluí-lo nas suas funções. (você pode tentar com a regra hide 304 para fins de teste.). Então eu acabei excluindo da seguinte maneira if ((m_EnableProxy) && !(oSession.host =="127.0.0.1" || oSession.host =="localhost" || oSession.host =="ipv4.fiddler")) { oSession["X-OverrideGateway"] = "socks=127.0.0.1:8080"; oSession["ui-backcolor"] = "#EFEF9F"; }. Esta função deve estar onBeforeRequest.
M3nda 18/04
1

Use o seu endereço IP local (não o 127.0.0.1), como 192.16.0.88, etc. Vá para cmd.exe e digite ipconfig e você o verá.

texto alternativo

código de schrodinger
fonte
4
Na verdade não.
Nathan C. Tresch
Isso não funciona. Parece que você não pode se conectar ao seu próprio endereço IP localmente
zeocrash
0

Windows XP:

Certifique-se de clicar no botão configurações de cada um dos itens na caixa de listagem "Configurações de rede dial-up e virtual privada" na guia "Conexões" do miniaplicativo do painel de controle "Opções da Internet".

Percebi que o Fiddler parava de usar a configuração "LAN settings" quando eu me conectava à minha VPN. Mesmo se o tráfego não estivesse passando pela VPN.

Usuário1
fonte
0
  • Digite ipconfig no prompt de comando.
  • Ele fornecerá seu endereço IPv4
  • Substitua localhost pelo seu endereço IPv4 no URL ao acessar o serviço.

O tráfego será exibido no Fiddler sob o endereço IP do seu computador.

Christian Findlay
fonte
-2

Vá para Ferramentas, Opções do violinista ..., selecione a guia Conexões e verifique se a opção Monitorar todas as conexões está marcada. Como Antony Scott disse, mas também verifique se o painel "Sessões da Web" está definido como "Capturando" e ["Navegadores da Web" OU "Todos os processos"]. Parece que o padrão é "Não Navegador".

Marcus
fonte