Traceroute und Ping vom Schulnetzwerk

7

Ich habe einen Server in meiner Schule. Wenn ich einen tracerouteBefehl für einen Gastgeber in unserem Schulnetzwerk ausführe, kann ich den Gastgeber erreichen. So zum Beispiel

traceroute hostname.xxx.edu

traceroute to hostname.xxx.edu (xxx.xxx.xx.xx), 30 hops max, 40 byte packets
 1  reserved-xxx-2.xxx.edu (xxx.xxx.xxx.x)  0.858 ms  0.924 ms  0.980 ms
 2  hostname.xxx.edu (xxx.xxx.xx.xx)  0.446 ms !X  0.438 ms !X  0.423 ms !X

Ebenso ping hostname.xxx.edufunktioniert auch erfolgreich.

Wenn ich es jedoch versuche,

traceroute to www.google.com (64.233.160.99), 30 hops max, 40 byte packets
 1  reserved-xxx-2.xxx.edu (xxx.xxx.xxx.x)  34.605 ms  34.658 ms  34.711 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  *

Als ich es versuchte ping www.google.com, schlug es wie erwartet fehl.

FRAGEN

Nach meinem Verständnis blockiert die Firewall meines Schulnetzwerks meinen Server daran, Kontakt mit der Außenwelt aufzunehmen. Ist das richtig?

Wenn ich jedoch befehle, wie curl www.google.comich es tue, bekomme ich die perfekte Ausgabe. Tatsächlich hatte ich mit meinem Shell-Skript auf diesem Server so viele Informationen von Websites extrahiert. Wie hat das Shell-Skript funktioniert, wenn die Firewall die Außenwelt daran hindert, auf meinen Server zuzugreifen?

Ramesh
quelle

Antworten:

8

Ja, es ist durchaus möglich, dass Ihre Firewall den Erfolg der Traceroute blockiert. Um zu verstehen, warum dies fehlschlägt, konsultieren Sie am besten die tracerouteManpage.

Auszug

Dieses Programm versucht, die Route zu verfolgen, der ein IP-Paket zu einem Internet-Host folgen würde, indem es Testpakete mit einem kleinen ttl (Time to Live) startet und dann auf eine ICMP-Antwort von einem Gateway wartet, bei der die Zeit überschritten wurde.

Wir starten unsere Sonden mit einem ttl von eins und erhöhen sie um eins, bis wir einen ICMP- "Port nicht erreichbar" (oder TCP-Reset) erhalten, was bedeutet, dass wir zum "Host" gelangen oder ein Maximum erreichen (standardmäßig 30 Hops).

Bei jeder ttl-Einstellung werden (standardmäßig) drei Sonden gesendet, und es wird eine Zeile gedruckt, in der ttl, die Adresse des Gateways und die Umlaufzeit jeder Sonde angegeben sind. Der Adresse können auf Anfrage zusätzliche Informationen folgen. Wenn die Sondenantworten von verschiedenen Gateways stammen, wird die Adresse jedes antwortenden Systems gedruckt. Wenn innerhalb von 5,0 Sekunden keine Antwort erfolgt (Standard), wird für diese Sonde ein "*" (Sternchen) gedruckt.

Die Sternchen, die Sie sehen, sind Server, über die Ihre Pakete weitergeleitet werden und deren Zeitüberschreitung (5,0+ Sekunden) abläuft. Daher wird traceroutestandardmäßig das gedruckt *.

Die andere Sache, die nicht traceroutefunktioniert, ist, wenn ein Server / Router auf dem Weg so konfiguriert ist, dass er nicht auf ICMP-Pakete (auch bekannt als Ping-Pakete) antwortet. Ohne auf Pings zu antworten, schlägt der Trick von `traceroute, jeden Server durch Inkrementieren der TTL (Time To Live) für jedes Paket, das an das tatsächliche Ziel gesendet wird, zu induzieren, fehl.

HINWEIS: Es gibt sogar eine Warnung dazu in der tracerouteManpage.

Auszug

In der modernen Netzwerkumgebung können die traditionellen Traceroute-Methoden aufgrund der weit verbreiteten Verwendung von Firewalls nicht immer angewendet werden. Solche Firewalls filtern die "unwahrscheinlichen" UDP-Ports oder sogar ICMP-Echos. Um dies zu lösen, werden einige zusätzliche Tracerouting-Methoden implementiert (einschließlich TCP), siehe LISTE DER VERFÜGBAREN METHODEN unten. Solche Methoden versuchen, ein bestimmtes Protokoll und einen bestimmten Quell- / Zielport zu verwenden, um Firewalls zu umgehen (von Firewalls nur als Start des zulässigen Typs einer Netzwerksitzung zu sehen).

Je nachdem, wie Sie es konfigurieren traceroute, werden möglicherweise ICMP-, UDP- oder sogar TCP-Pakete verwendet, um eine Antwort von den verschiedenen Systemen auszulösen, die das Routing Ihrer Pakete von Punkt A nach Punkt B übergeben.

Wieder Anhörung des tracerouteMannes Seite Beachten Sie diese 3 Möglichkeiten:

   -I, --icmp
          Use ICMP ECHO for probes

   -T, --tcp
          Use TCP SYN for probes

   -U, --udp
          Use UDP to particular destination port for tracerouting (instead 
          of increasing the port per each probe). Default port is 53 (dns).

Es gibt natürlich noch mehr, die vollständige Liste finden Sie in der LISTE DER VERFÜGBAREN METHODEN .

Was ist also mit Locken?

Wie so oft bei Grenzfirewalls wie in einem Unternehmen oder einer Universität dürfen nur Traffic-Targeting-Ports 80 (HTTP) und 443 (HTTPS) austreten. Es ist sehr wahrscheinlich, dass die ICMP ECHO_REQUEST- Pakete von der Universitäts-Firewall verworfen werden. Dies würde erklären, warum Sie die Sternchen erhalten, wenn Sie Server außerhalb des Universitätsnetzwerks erreichen.

Mit dem Austritt von Paketen über Port 80 können Sie dies traceroutenutzen und TCP über einen bestimmten Port, in diesem Fall 80, verwenden, um das zu erhalten, was Sie möchten.

Beispiel

$ sudo traceroute -T -p 80 www.google.com
traceroute to www.google.com (173.194.46.81), 30 hops max, 60 byte packets
 1  byers.bubba.net (192.168.1.6)  3.265 ms  3.236 ms  3.213 ms
 2  * * *
 3  24.93.10.17 (24.93.10.17)  21.359 ms  35.414 ms  48.045 ms
 4  rdc-72-230-153-79.wny.east.twcable.com (72.230.153.79)  48.064 ms  48.044 ms  54.523 ms
 5  rdc-72-230-153-243.wny.east.twcable.com (72.230.153.243)  70.067 ms  70.013 ms  73.312 ms
 6  be35.cr0.chi10.tbone.rr.com (107.14.19.104)  73.201 ms be45.cr0.chi10.tbone.rr.com (107.14.19.106)  62.289 ms be35.cr0.chi10.tbone.rr.com (107.14.19.104)  65.485 ms
 7  ae0.pr1.chi10.tbone.rr.com (107.14.17.192)  62.056 ms  48.685 ms ae1.pr1.chi10.tbone.rr.com (107.14.17.194)  32.193 ms
 8  * * *
 9  209.85.254.130 (209.85.254.130)  42.624 ms  45.159 ms  42.777 ms
10  * * *
11  ord08s11-in-f17.1e100.net (173.194.46.81)  48.036 ms  42.543 ms  44.751 ms
slm
quelle
wie immer wundervolle Erklärung :) Vielen Dank.
Ramesh
@Ramesh - du bist wie immer willkommen. Danke für die interessanten Fragen.
slm
Die herkömmliche Traceroute verwendet UDP zum Inkrementieren von Ports für jeden Hop. Der Standard-UDP-Port für die Unix-ähnliche Implementierung liegt zwischen 33434 und 33534. Kaum etwas, was heutzutage offen
bleibt
In meiner Universität ist sogar -T -p 80gesperrt ...
Nemo
6

Nach meinem Verständnis blockiert die Firewall meines Schulnetzwerks meinen Server daran, Kontakt mit der Außenwelt aufzunehmen. Ist das richtig?

Nein, ich denke, es kann fast den gesamten Verkehr blockieren, aber zumindest zulassen TCP port 80. traceroutein Linux Standard - Nutzung UDP, pingVerwendung ICMP, um die Ausgabe, so scheint es , dass diejenigen , Verkehr von der Firewall blockiert wurde.

Wie hat das Shell-Skript funktioniert, wenn die Firewall die Außenwelt daran hindert, auf meinen Server zuzugreifen?

Wie oben, wenn Sie Ergebnisse von erhalten können curl www.gooogle.com, bin ich sicher, dass die Firewall mindestens TCP port 80und UDP port 53(für DNS-Arbeit) erlaubt . Sie können eine einfache Überprüfung durchführen, um dies zu bestätigen, indem Sie Folgendes tracerouteverwenden TCP:

traceroute -T -p 80 www.google.com

Hier ist mein Ergebnis:

$ sudo traceroute -T -p 80 www.google.com
[sudo] password for cuonglm: 
traceroute to www.google.com (74.125.128.103), 30 hops max, 60 byte packets
 1  172.16.50.253 (172.16.50.253)  0.133 ms  0.133 ms *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  XXX.XXX (Y.Y.Y.Y)  13.954 ms XXX.XXX (Y.Y.Y.Y)  14.198 ms X.X.X.X (123.29.10.110)  14.140 ms
 9  unknown.telstraglobal.net (134.159.208.165)  85.353 ms  85.349 ms  85.338 ms
10  i-0-2-0-3.hkth-core01.bi.telstraglobal.net (202.84.153.234)  85.780 ms  85.765 ms  85.748 ms
11  i-0-0-0-3.hkth12.bi.telstraglobal.net (202.84.153.182)  85.723 ms i-0-0-0-1.hkth12.bi.telstraglobal.net (202.84.153.150)  86.731 ms i-0-0-0-2.hkth12.bi.telstraglobal.net (202.84.153.178)  85.305 ms
12  72.14.221.126 (72.14.221.126)  51.635 ms  51.535 ms  51.177 ms
13  209.85.241.58 (209.85.241.58)  51.137 ms  51.372 ms  51.086 ms
14  209.85.253.71 (209.85.253.71)  51.601 ms 209.85.253.69 (209.85.253.69)  52.172 ms  51.888 ms
15  * * *
16  hg-in-f103.1e100.net (74.125.128.103)  51.639 ms  52.632 ms  51.670 ms

Eine Lektion zu lernen

Wenn Sie Regeln für die Firewall (oder ähnliche Sicherheitsgeräte) erstellen, lautet die goldene Regel " Alle verweigern, Einzelheiten zulassen ".

cuonglm
quelle
5

Ihre Schulfirewall blockiert wahrscheinlich den größten Teil des ausgehenden Datenverkehrs an anderen Ports als TCP / 80, dem Standard-IP-Port für den Webdatenverkehr.

Insbesondere Ping und (meistens) Traceroute senden das ICMP ECHO_REQUEST-Paket, und viele Unternehmen und Schulen blockieren den gesamten ICMP-Verkehr über ihre Firewalls, da damit Informationen zu den Netzwerkgeräten hinter der Firewall ermittelt werden können.

msw
quelle