¿Cómo sabe Ping que mis paquetes están filtrados?

20

Soy cliente de un ISP irlandés, eircom, que comenzó a censurar la bahía pirata.

Cuando trato de hacer ping, 194.71.107.15que es la dirección IP de thepiratebay.com, obtengo esta salida:

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

¿Cómo sabe Ping que está filtrado? ¿Cómo puedo obtener más información sobre cómo se filtra? Mi ping / nmap foo es débil.

Rory
fuente

Respuestas:

14

Ping determina su mensaje impreso en función del mensaje de control ICMP que recibe en respuesta a una solicitud de eco.

Supongo que me imagino que cualquier dispositivo de filtrado que Eircom esté utilizando para bloquear el acceso a The Pirate Bay está generando mensajes ICMP Tipo 3, Código 9 (red prohibida administrativamente) o Tipo 3, Código 10 (host administrativamente prohibido) en respuesta a tráfico dirigido a la dirección IP de The Pirate Bay.

Para confirmar, sugeriría ejecutar una captura de paquetes (usando Wireshark o similar) y mirar los paquetes de respuesta ICMP que está recibiendo desde 159.134.124.176.

Murali Suriar
fuente
29

Después de mirar

ping.c del paquete iputils-ping Debian etch, veo:

 
 / *
 * *
 * pr_icmph -
 * Imprima una cadena descriptiva sobre un encabezado ICMP.
 * /
void pr_icmph (tipo __ u8, código __u8, información __u32, struct icmphdr * icp)
{

...
                caso ICMP_PKT_FILtered:
                        printf ("Paquete filtrado \ n");
                        descanso;
...

Parece que el rechazo de iptables agrega esto en la respuesta, vea

http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/net/ipv4/netfilter/ipt_REJECT.c

y busque "ICMP_PKT_FILtered", aunque puede que no sea el único caso que haga que ping responda con dicho mensaje.

Karolis T.
fuente
55
+1 para la fuente de buceo.
RainyRat
1
Seguro.
squillman
Otra cosa que puede causar esto son los paquetes "privados" (usando una IP privada / interna) que llegan al mundo. He visto esto cuando una conexión VPN se cayó y los paquetes que iban al 10.11.12.13 comenzaron a recibir respuestas de "paquete filtrado" de un sistema externo al que nunca deberían haber ido en primer lugar. Ver también en.wikipedia.org/wiki/IP_address#IPv4_private_addresses
fencepost
4

Eso significa que el dispositivo 159.134.124.176 bloquea los paquetes ICMP (Ping) y le responde con esa información. Las posibles respuestas de ICMP se enumeran en este artículo de Wiki .

Doug Luxem
fuente
1

ping recibe un ICMP_DEST_UNREACH y, según el tipo de paquete icmp devuelto, ping sabe que está filtrado.

rkthkr
fuente
1

Creo que significa que 159.134.124.176 no permite que sus pings lleguen a 194.71.107.15, es decir, está filtrando (al menos) ICMP. Cuando hago lo mismo, obtengo:

\# 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

... y un WHOIS rápido me dice que 159.134.124.176 es de hecho algo propiedad de Eircom.

RainyRat
fuente
2
La pregunta era "cómo" sabe ping, creo que el autor sabe que ICMP se está filtrando. Probablemente piense que filtrar significa filtrar el estilo de agujero negro, sin nada devuelto y eso planteó la pregunta sobre el ping "mágicamente" sabiendo cuál es el caso.
Karolis T.
1

La idea básica (y espero que alguien pueda ayudarme a completar algunos detalles, ya que no soy un experto en Linux) es que su ping está enviando una solicitud de eco ICMP pero no está recibiendo la respuesta de eco estándar del host de destino. En cambio, fue respondido por 159.134.124.176, probablemente con alguna forma de respuesta inalcanzable de destino ICMP. Eso y el hecho de que 159.134.124.176 no es el objetivo original implica que los paquetes se filtran.

squillman
fuente