Como depurar tempos limite para determinada URL do servidor Ubuntu?

1

Eu tenho um servidor dedicado rodando o Ubuntu 10.04.

Tentar acessar uma determinada URL (serviço de API baseado em HTTP) resulta em tempos limite. Eu tentei curl, wget e outros.

Estava funcionando bem até recentemente. Eu posso acessar o URL da minha máquina local e outros servidores.

Embora pareça que o provedor da API pode ter bloqueado solicitações de entrada do meu servidor, é muito improvável porque a API foi usada muito ocasionalmente.

Quais são as melhores maneiras de depurá-lo? Quais lugares posso verificar para ver se não é o meu servidor ou a rede que bloqueia essa solicitação de saída?

    
por Michał Szajbe 30.01.2013 / 00:35

1 resposta

0

Uma das coisas para tentar é farejar o tráfego que sai do seu PC (e do seu roteador, se você tiver um roteador Linux). Você pode fazer isso com o tcpdump. Por exemplo, se o endereço IP do site que você está indo é "1.2.3.4", o protocolo é HTTP e sua conexão de Internet está em eth0, você poderia tentar (como root)

tcpdump -n -i eth0 src or dst 1.2.3.4 and port 80

e, em seguida, vá para a URL para verificar se há pacotes entrando e saindo da sua caixa. Se você está vendo pacotes em ambas as direções, você pode tentar

tcpdump -A -s 1500 -n -i eth0 src or dst 1.2.3.4 and port 80 | tee hit.dump

Para obter um despejo do tráfego que entra e sai da sua caixa (ou rede).

Se o TCPDump mostrar pacotes saindo, mas não entrando na sua rede, você deve checar duas vezes as regras do iptables (mas é improvável que isso seja um problema). Você pode listar estes com

/sbin/iptables -vnL

e inspecionando a saída.

    
por 01.02.2013 / 05:59