it-swarm.com.de

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

Ich kann eine IP-Adresse anpingen, aber ich kann sie nicht nachverfolgen. Wie konnte das sein?

[[email protected] ~]$ 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
[[email protected] ~]$
[[email protected] ~]$ 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  * * *
[[email protected] ~]$

Die fünfte CENSORED IP-Adresse in der Traceroute stimmt nicht mit der "ping CENSORED.CENSORED" überein.

46
LanceBaynes

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:

[email protected]:~$ 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

[email protected]:~$ 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

[email protected]:~$ 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  * * *
40
Tzarium

Traceroute basiert auf ICMP- oder UDP-Paketen. Es pingt effektiv jeden Router auf dem Pfad zwischen Ihnen und censored.censored. Es erhöht die Time-To-Live (TTL) für jedes nachfolgende Paket, das es sendet (normalerweise von 1 bis 30), in der Erwartung, dass jedes Paket mit einem erhöhten TTL vom letzten zum nächsten Router in der gesendet wird path gibt einen Fehlercode zurück.

Wenn Hop 6 nicht reagiert, blockiert es wahrscheinlich speziell ICMP/UDP-Nachrichten. Ping funktioniert daher, weil die Router zwischen Ihnen und ihm nur die ICMP/UDP-Pakete weiterleiten, anstatt wie bei einer Traceroute auf sie zu antworten.

23
Rhys Gibson

Ich habe keine Antwort auf den Warum Teil der Fragen gesehen.

Es ist bekannt, dass mehrere ISPs ihre Router auf zweierlei Weise auf Traceroute verbergen: Entweder dekrementieren sie TTL in IP-Paketen nicht (machen sich selbst zu IP-Wurmlöchern) oder sie reagieren nicht auf abgelaufene TTL, während ICMP weitergeleitet wird.

Der Grund ist, die interne Netzwerktopologie geheim zu halten. Das ist alles.

Wenn Sie traceroutes von/an mehrere Quellen/Ziele ausgeben, werden Informationen zur Netzwerktopologie angezeigt, die so etwas wie nicht jeder zu schätzen weiß.

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 einem -t $ TTL-Argument aufrufen, können Sie sich manchmal der Firewall entziehen und IP-Adressen usw. von Routern hinter Firewalls herausfinden.

2
Bruce Ediger

Traceroute basiert auf ICMP-Nachrichten, auf die einige Router möglicherweise nicht reagieren.

2
LawrenceC

Entweder reagieren alle Knoten ab 6 nicht auf UDP-Pakete, oder Knoten 6 selbst blockiert udp-Pakete. Sie können die folgenden Methoden ausprobieren, von denen ich hoffe, dass sie auf der Grundlage des Knotens im Pfad zu den Bestimmungsblöcken ICMP/TCP SYN funktionieren:

  1. Verwenden Sie ICMP, um die Route zu verfolgen: $ Sudo traceroute -I

  2. Verwenden Sie TCP syn für die Traceroute: $ Sudo traceroute -T

  3. Wenn es sich um die Hopfen handelt, die überschritten werden, verwenden Sie eine der folgenden Optionen: $ Sudo traceroute -I -m 60

OR

$ Sudo traceroute -T -m 60

Letzteres funktionierte für mich, als ich zu einem ftp quer durch den Kontinent unterwegs war.

0
Naresh

Versuchen Sie Folgendes, um den Befehl ping zu verwenden, um Traceroute in einer Unix-Umgebung auszuführen:

for ((TTL=1;TTL<30;TTL++));
do
ping -c 1 -t $TTL <IP>;
done
0
Naresh