Comment ping sait-il que mes paquets sont filtrés?


20

Je suis client d'un FAI irlandais, eircom, qui a commencé à censurer la baie des pirates.

Quand j'essaye de cingler 194.71.107.15qui est l'adresse IP de thepiratebay.com, j'obtiens cette sortie:

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

Comment ping sait-il que c'est filtré? Comment puis-je en savoir plus sur la façon dont il est filtré. Mon ping / nmap foo est faible.

Réponses:


14

Ping détermine son message imprimé en fonction du message de contrôle ICMP qu'il reçoit en réponse à une demande d'écho.

J'imagine que quel que soit le dispositif de filtrage utilisé par Eircom pour bloquer l'accès à The Pirate Bay, il génère des messages ICMP Type 3, Code 9 (réseau administrativement interdit) ou Type 3, Code 10 (hôte administrativement interdit) en réponse à le trafic dirigé vers l'adresse IP de The Pirate Bay.

Pour confirmer, je suggérerais d'exécuter une capture de paquets (en utilisant Wireshark ou similaire) et de regarder les paquets de réponse ICMP que vous recevez en retour de 159.134.124.176.


29

Après avoir regardé

ping.c du paquet Debian etch iputils-ping, je vois:

 
 / *
 *
 * pr_icmph -
 * Imprimer une chaîne descriptive sur un en-tête ICMP.
 * /
void pr_icmph (__ u8 type, __u8 code, __u32 info, struct icmphdr * icp)
{

...
                cas ICMP_PKT_FILTERED:
                        printf ("Paquet filtré \ n");
                        Pause;
...

Il semble que le rejet d'iptables ajoute ceci dans la réponse, voir

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

et recherchez "ICMP_PKT_FILTERED", bien que ce ne soit pas le seul cas à faire répondre ping par un tel message.


5
+1 pour la plongée source.
RainyRat

1
Absolument.
squillman

Une autre chose qui peut provoquer cela est des paquets "privés" (utilisant une adresse IP privée / interne) qui le font sortir du monde. J'ai vu cela lorsqu'une connexion VPN a été interrompue et que les paquets allant au 10.11.12.13 ont commencé à obtenir des réponses "filtrées par paquets" d'un système externe auxquelles ils n'auraient jamais dû aller en premier lieu. Voir aussi en.wikipedia.org/wiki/IP_address#IPv4_private_addresses
fencepost

4

Cela signifie que le périphérique 159.134.124.176 bloque les paquets ICMP (Ping) et vous répond avec ces informations. Les réponses ICMP possibles sont répertoriées dans cet article Wiki .


1

ping reçoit un ICMP_DEST_UNREACH et selon le type de paquet icmp retourné, ping retourné sait qu'il est filtré.


1

Je pense que cela signifie que 159.134.124.176 ne permet pas à vos pings d'atteindre 194.71.107.15, c'est-à-dire qu'il filtre (au moins) ICMP. Quand je fais la même chose, j'obtiens:

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

... et un WHOIS rapide me dit que 159.134.124.176 est en effet quelque chose appartenant à Eircom.


2
La question était "comment" ping sait, je pense que l'auteur est conscient que ICMP est filtré. Il pense probablement que filtrer signifie filtrer le style de trou noir, sans rien donner et cela a soulevé la question de ping "magiquement" en sachant ce qui est le cas.
Karolis T.

1

L'idée de base (et j'espère que quelqu'un peut m'aider à remplir certains détails car je ne suis pas un expert Linux) est que votre ping envoie une demande d'écho ICMP mais n'obtient pas la réponse d'écho standard de l'hôte cible. Au lieu de cela, il a été répondu par 159.134.124.176, probablement avec une certaine forme de réponse inaccessible de destination ICMP. Cela et le fait que 159.134.124.176 n'est pas la cible d'origine implique que les paquets sont filtrés.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.