Woher weiß Ping, dass meine Pakete gefiltert werden?


20

Ich bin Kunde eines irischen ISP, eircom, der begonnen hat, die Piratenbucht zu zensieren .

Wenn ich versuche zu 194.71.107.15pingen, welches die IP-Adresse von thepiratebay.com ist, erhalte ich diese Ausgabe:

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

Woher weiß Ping, dass es gefiltert ist? Wie kann ich mehr darüber erfahren, wie es gefiltert wird? Mein ping / nmap foo ist schwach.

Antworten:


14

Ping bestimmt seine gedruckte Nachricht in Abhängigkeit von der ICMP-Steuernachricht, die es als Antwort auf eine Echoanforderung empfängt.

Ich könnte mir vorstellen, dass das Filtergerät, mit dem Eircom den Zugriff auf The Pirate Bay blockiert, entweder ICMP-Nachrichten vom Typ 3, Code 9 (Netzwerk administrativ verboten) oder Typ 3, Code 10 (Host administrativ verboten) als Antwort auf generiert Datenverkehr wird an die IP-Adresse von The Pirate Bay geleitet.

Zur Bestätigung würde ich vorschlagen, eine Paketerfassung (mit Wireshark oder ähnlichem) durchzuführen und die ICMP-Antwortpakete zu betrachten, die Sie von 159.134.124.176 zurückerhalten.


29

Nach dem Anschauen

ping.c aus dem iputils-ping-Paket von Debian Etch sehe ich:

 
 / *
 *
 * pr_icmph -
 * Drucken Sie einen beschreibenden String über einen ICMP-Header.
 * /
void pr_icmph (__ u8 type, __u8 code, __u32 info, struct icmphdr * icp)
{

...
                case ICMP_PKT_FILTERED:
                        printf ("Paket gefiltert \ n");
                        brechen;
...

Es sieht so aus, als würde iptables reject dies der Antwort hinzufügen, siehe

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

und suchen Sie nach "ICMP_PKT_FILTERED", obwohl dies möglicherweise nicht der einzige Fall ist, der eine Ping-Antwort mit einer solchen Nachricht auslösen würde.


5
+1 für das Quellentauchen.
RainyRat

1
Bestimmt.
squillman

Eine andere Sache, die dazu führen kann, sind "private" Pakete (unter Verwendung einer privaten / internen IP), die es in die Welt schaffen. Ich habe dies gesehen, als eine VPN-Verbindung unterbrochen wurde und Pakete ab dem 10.11.12.13 "paketgefilterte" Antworten von einem externen System erhielten, zu denen sie eigentlich nie hätten gehen sollen. Siehe auch en.wikipedia.org/wiki/IP_address#IPv4_private_addresses
Fencepost


1

ping empfängt ein ICMP_DEST_UNREACH und abhängig von der Art des zurückgegebenen icmp-Pakets weiß ping, dass es gefiltert ist.


1

Ich denke, es bedeutet, dass 159.134.124.176 nicht zulässt, dass Ihre Pings 194.71.107.15 erreichen, dh, es filtert (mindestens) ICMP. Wenn ich das Gleiche tue, bekomme ich:

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

... und ein schnelles WHOIS sagt mir, dass 159.134.124.176 tatsächlich im Besitz von Eircom ist.


2
Die Frage war "wie" Ping weiß, ich denke der Autor ist sich bewusst, dass ICMP gefiltert wird. Er denkt wahrscheinlich, dass gefiltert heißt, schwarzen Lochstil zu filtern, ohne dass etwas zurückgegeben wird, und dass die Frage nach Ping "magisch" aufgeworfen wird, wenn man weiß, was der Fall ist.
Karolis T.

1

Die Grundidee (und hoffentlich kann mir jemand helfen, einige Details zu ergänzen, da ich kein Linux-Experte bin) ist, dass Ihr Ping eine ICMP-Echoanforderung sendet, aber nicht die Standard-Echoantwort vom Zielhost zurückerhält. Stattdessen wurde es von 159.134.124.176 beantwortet, wahrscheinlich mit einer nicht erreichbaren ICMP-Zielantwort. Dies und die Tatsache, dass 159.134.124.176 nicht das ursprüngliche Ziel ist, impliziert, dass die Pakete gefiltert werden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.