Warum kann ich eine IP-Adresse anpingen, aber nicht "traceroute"?

Ich kann eine IP-Adresse anpingen, aber ich kann sie nicht traceroute. Wie könnte das sein?

[USERNAME@HOSTNAME ~]$ ping CENSORED.CENSORED
PING CENSORED.CENSORED (CENSORED) 56(84) bytes of data.
64 bytes from CENSORED.CENSORED (CENSORED): icmp_req=1 ttl=49 time=52.8 ms
64 bytes from CENSORED.CENSORED (CENSORED): icmp_req=2 ttl=49 time=49.4 ms
64 bytes from CENSORED.CENSORED (CENSORED): icmp_req=3 ttl=49 time=49.2 ms
64 bytes from CENSORED.CENSORED (CENSORED): icmp_req=4 ttl=49 time=50.4 ms
^C
--- CENSORED.CENSORED ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 49.276/50.494/52.804/1.401 ms
[USERNAME@HOSTNAME ~]$
[USERNAME@HOSTNAME ~]$ traceroute CENSORED.CENSORED
traceroute to CENSORED.CENSORED (CENSORED), 30 hops max, 60 byte packets
 1  CENSORED (CENSORED)  5.733 ms  6.000 ms  5.977 ms
 2  CENSORED (CENSORED)  0.428 ms  0.417 ms  0.393 ms
 3  CENSORED (CENSORED)  1.726 ms  1.718 ms  1.682 ms
 4  CENSORED (CENSORED)  26.699 ms  26.693 ms  26.670 ms
 5  CENSORED (CENSORED)  27.785 ms  27.769 ms  27.746 ms
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
[USERNAME@HOSTNAME ~]$

Die fünfte CENSORED IP-Adresse in der Traceroute ist nicht dieselbe wie beim "Ping".CENSORED".

 49
Author: Peter Mortensen, 2011-05-04

7 answers

Versuchen Sie, eine andere Methode in Ihrer Traceroute zu verwenden, z. B. TCP SYN oder ICMP anstelle der Standard-UDP-Methode.

Beachten Sie zum Beispiel den Unterschied zwischen ICMP und TCP:

x@x:~$ ping -qc4 94.254.2.51
PING 94.254.2.51 (94.254.2.51) 56(84) bytes of data.
--- 94.254.3.90 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3009ms
rtt min/avg/max/mdev = 7.781/7.807/7.836/0.067 ms

x@x:~$ sudo traceroute -I 94.254.2.51
traceroute to 94.254.2.51 (94.254.2.51), 30 hops max, 40 byte packets
1  <REDACTED>
2  <REDACTED>
3  <REDACTED>
4  <REDACTED>
5  netnod-ix-ge-a-sth-1500.bahnhof.net (194.68.123.85)  1.307 ms  1.299 ms  1.432 ms
6  sto-cr1.sto-cr3.bahnhof.net (85.24.151.165)  7.166 ms  7.364 ms  7.336 ms
7  sto-cr3.gav-cr1.bahnhof.net (85.24.151.195)  7.251 ms  7.099 ms  7.220 ms
8  zitius-a322-gw-c.bahnhof.net (85.24.153.249)  7.059 ms  7.074 ms  7.145 ms
9  h-2-51.A322.priv.bahnhof.se (94.254.2.51)  7.619 ms  7.750 ms  8.070 ms

x@x:~$ sudo traceroute -T 94.254.2.51
traceroute to 94.254.2.51 (94.254.2.51), 30 hops max, 40 byte packets
1  <REDACTED>
2  <REDACTED>
3  <REDACTED>
4  <REDACTED>
5  netnod-ix-ge-a-sth-1500.bahnhof.net (194.68.123.85)  1.621 ms  1.683 ms  1.817 ms
6  sto-cr1.sto-cr3.bahnhof.net (85.24.151.165)  8.530 ms  7.861 ms  7.820 ms
7  sto-cr3.gav-cr1.bahnhof.net (85.24.151.195)  7.724 ms  7.539 ms  7.486 ms
8  zitius-a322-gw-c.bahnhof.net (85.24.153.249)  7.572 ms  7.537 ms  7.553 ms
9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
 44
Author: Tzarium,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-04 12:21:00

Traceroute basiert auf ICMP-oder UDP-Paketen. Es pings effektiv jeden Router auf dem Weg zwischen Ihnen und zensiert.Censored. Es erhöht die Time-To-Live (TTL) für jedes nachfolgende Paket, das es sendet (normalerweise von 1-30), und erwartet, dass der nächste Router im Pfad einen Fehlercode zurückgibt, wenn jedes Paket mit einer erhöhten TTL vom letzten gesendet wird.

Wenn Hop 6 nicht antwortet, blockiert es wahrscheinlich speziell ICMP / UDP-Nachrichten. Ping funktioniert daher, weil die Router zwischen sie und es übergeben nur die ICMP/UDP-Pakete an sie, anstatt wie bei einer Traceroute darauf zu antworten.

 24
Author: Rhys Gibson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-04 20:29:53

Ich sah keine Antwort auf den warum Teil der Fragen.

Es ist bekannt, dass mehrere ISPs ihre Router dazu bringen, Traceroute auf zwei Arten zu verwenden: Entweder dekrementieren sie TTL in IP-Paketen nicht (machen sich selbst zu IP-Wurmlöchern) oder sie reagieren nicht auf abgelaufene TTL, während sie ICMP weiterleiten.

Der Grund ist, ihre interne Netzwerktopologie privat zu halten. Das ist alles.

Wenn traceroutes von/zu mehreren Quellen/Ziel ausgegeben wird, werden Informationen zur Netzwerktopologie angezeigt, die ist so etwas wie nicht jeder schätzt.

 13
Author: usr-local-ΕΨΗΕΛΩΝ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-03-09 21:54:36

Manchmal lohnt es sich, ping zu verwenden, um Traceroute-ähnliche Informationen zu erhalten:

#!/bin/bash
for TTL in 1 2 3 4 5 6 7 8 9 10 11 12
do
    ping -c 1 -n -t $TTL a.b.c.d
done

Wenn Sie ping mit dem Argument a-t $TTL aufrufen, können Sie sich manchmal der Firewall entziehen und IP-Adressen und so weiter von Routern hinter Firewalls herausfinden.

 3
Author: Bruce Ediger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-04 15:44:09

Traceroute stützt sich auf ICMP-Nachrichten, auf die einige Router möglicherweise so konfiguriert sind, dass sie nicht antworten.

 2
Author: LawrenceC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-04 11:04:50

Entweder reagiert all noded ab 6 nicht mehr auf UDP-Pakete oder Knoten 6 selbst blockiert UDP-Pakete. Sie können die Flowingmethoden ausprobieren, von denen ich hoffe, dass sie basierend darauf funktionieren, welcher Knoten im Pfad zur Detination ICMP/TCP SYN blockiert:

  1. Verwenden Sie ICMP zu traceroute : $ sudo traceroute -I

  2. Verwenden Sie TCP syn zum Traceroute : $ sudo traceroute -T

  3. Wenn es der Hopfen ist, den es enthält, dann verwenden Sie eine der folgenden : $ sudo traceroute -I-m 60

ODER

$ sudo traceroute -T -m 60

Letzteres funktionierte für mich beim Tracerouting zu einem FTP auf dem ganzen Kontinent.

 0
Author: Naresh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-03-09 21:24:29

Wenn Sie den Befehl ping zum traceroute in einer Unix-Umgebung verwenden möchten, versuchen Sie Folgendes:

for ((TTL=1;TTL<30;TTL++));
do
ping -c 1 -t $TTL <IP>;
done
 0
Author: Naresh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-08-14 13:29:48