Como o ping sabe que meus pacotes são filtrados?

20

Sou cliente de um ISP irlandês, eircom, que começou a censurar a baía dos piratas.

Quando tento executar o ping de 194.71.107.15 , que é o endereço IP do thepiratebay.com, recebo esta saída:

PING 194.71.107.15 (194.71.107.15) 56(84) bytes of data.
From 159.134.124.176 icmp_seq=1 Packet filtered
From 159.134.124.176 icmp_seq=2 Packet filtered
From 159.134.124.176 icmp_seq=3 Packet filtered

Como o ping sabe que é filtrado? Como posso aprender mais sobre como é filtrado? Meu ping / nmap foo é fraco.

    
por Rory 01.09.2009 / 16:23

6 respostas

13

Ping determina sua mensagem impressa dependendo da mensagem de controle ICMP que recebe em resposta a um solicitação de eco.

Por suposto, imagino que qualquer dispositivo de filtragem que a Eircom esteja usando para bloquear o acesso ao The Pirate Bay esteja gerando mensagens ICMP Tipo 3, Código 9 (rede proibida administrativamente) ou Tipo 3, Código 10 (host proibida administrativamente) em resposta ao tráfego direcionado ao endereço IP do The Pirate Bay.

Para confirmar, sugiro executar uma captura de pacote (usando o Wireshark ou similar) e olhando para os pacotes de resposta do ICMP que você está recebendo de volta de 159.134.124.176.

    
por 01.09.2009 / 16:48
28

Depois de olhar para

ping.c do pacote etch Debian iputils-ping, eu vejo:

 
 /*
 *
 * pr_icmph --
 *      Print a descriptive string about an ICMP header.
 */
void pr_icmph(__u8 type, __u8 code, __u32 info, struct icmphdr *icp)
{

...
                case ICMP_PKT_FILTERED:
                        printf("Packet filtered\n");
                        break;
...

Parece que o iptables reject adiciona isso na resposta, consulte

link

e procure por "ICMP_PKT_FILTERED", embora possa não ser o único caso que faria a resposta do ping com tal mensagem.

    
por 01.09.2009 / 16:39
4

Isso significa que o dispositivo 159.134.124.176 está bloqueando pacotes ICMP (Ping) e respondendo a você com essa informação. As possíveis respostas do ICMP estão listadas em este artigo da Wiki .

    
por 01.09.2009 / 16:38
1

ping recebe um ICMP_DEST_UNREACH e dependendo do tipo de pacote retornado icmp retornado ping sabe que ele é filtrado.

    
por 01.09.2009 / 16:36
1

Eu acho que isso significa que 159.134.124.176 não está permitindo que seus pings atinjam 194.71.107.15, ou seja, está filtrando (pelo menos) ICMP. Quando faço a mesma coisa, fico:

\# ping 194.71.107.15
PING 194.71.107.15 (194.71.107.15) 56(84) bytes of data.
64 bytes from 194.71.107.15: icmp_seq=1 ttl=50 time=43.0 ms
64 bytes from 194.71.107.15: icmp_seq=2 ttl=50 time=42.0 ms
64 bytes from 194.71.107.15: icmp_seq=3 ttl=50 time=42.1 ms

... e um WHOIS rápido me diz que 159.134.124.176 é de fato algo pertencente à Eircom.

    
por 01.09.2009 / 16:36
1

A idéia básica (e espero que alguém possa me ajudar a preencher alguns detalhes, já que eu não sou especialista em Linux) é que seu ping está enviando uma solicitação de eco ICMP, mas não está recebendo a resposta padrão de eco do alvo hospedeiro. Em vez disso, foi respondida por 159.134.124.176, provavelmente com alguma forma de resposta inacessível ao destino do ICMP. Isso e o fato de que 159.134.124.176 não é o alvo original implica que os pacotes são filtrados.

    
por 01.09.2009 / 16:38