Neden bir IP adresine ping gönderebiliyorum ancak 'traceroute' edemiyorum?


46

Bir IP adresine ping atabiliyorum, ancak izleyemiyorum. Bu nasıl olabilir?

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

CENSOREDTraceroute içindeki beşinci IP adresi "ping CENSORED.CENSORED" ile aynı değil.


Traceroute'tan çıktı nedir?
ChrisF,

1
IP neden "sansürlendi"?
Sathyajith Bhat

1
IP neden "sansürlendi" ... belki de halka açık olmadığı için? pff
LanceBaynes

8
Posterin IP’yi yeniden düzenlediğini ve böylece onun makinesini kırmaya çalışmadığımızı tahmin ediyorum.
msw

bu yıldızlar sansür demek değil, cevap yok demek istiyorlar
jbu

Yanıtlar:


42

Traceroute'unuzda farklı bir yöntem kullanmayı deneyin; örneğin, varsayılan UDP yöntemi yerine TCP SYN veya ICMP.

Örneğin, ICMP ve TCP arasındaki farkı not edin:

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  * * *

2
- OSX için bir anahtar gibi görünmüyor. OSX'te TCP SYN kullanmanın bir alternatifi var mı?
Manachi

2
@Manachi:brew install tcptraceroute
iolsmit 17:17

1
@ Manchi: manpage'i okuyun ...: "traceroute -P TCP <IP>"
benba 16:17

23

Traceroute, ICMP veya UDP paketlerine dayanır. Her yönlendiriciyi etkili bir şekilde siz ve sansürlü saygılarınız arasındaki yolda sallar. Gönderdiği her bir paket için Canlı Kalma Süresi'ni (TTL) artırır (normalde 1-30 arasında), her paketin sondan itibaren artan bir TTL ile birlikte gönderildiği için, yoldaki bir sonraki yönlendiricinin bir hata kodu döndüreceğini bekler. .

Eğer hop 6 cevap vermiyorsa, muhtemelen ICMP / UDP mesajlarını engelliyordur. Bu nedenle ping çalışır, çünkü sizinle aranızdaki yönlendiriciler, Traceroute ile yaptıkları gibi, yanıt vermek yerine yalnızca ICMP / UDP paketlerini geçmektedir.


2
Çoğu (tümü?) * Nix dağıtımında, traceroute varsayılan olarak ICMP'yi değil UDP'yi kullanır.
h0tw1r3

İyi nokta, değişecek.
Rhys Gibson,

5 bloktan sonra tüm yönlendiriciler UDP? bu doğru mu?
LanceBaynes

Sanmıyorum Bir başkasının daha iyi bir açıklaması olabilir, ancak sanırım hop 6'nın cevap vermediğini ve paketlerden geçmediğini düşünüyorum, aksi halde en azından hedefinizden son bir yanıt alırsınız (30 atlama mesafesinden fazla değilse).
Rhys Gibson

1
Ama eminim ki 30 durak uzaklıktadır. Yani cevap iyi değil. Atlamada 7,8,9, vb.
Traceroute'ta

12

Soruların neden bir kısmına cevap görmedim .

Bazı ISS'lerin yönlendiricilerini iki şekilde izlemelerini sağlamak için gizli kaldıkları bilinmektedir: ya IP paketlerinde TTL'yi düşürmezler (kendilerini IP solucan delikleri yaparlar) ya da hala ICMP'yi iletirken süresi dolan TTL'ye cevap vermezler.

Bunun nedeni, iç ağ topolojilerini gizli tutmaktır. Bu kadar.

Düzenleyen traceroutebirden fazla kaynağa / den s / hedef herkes takdir eder gibi bir şey ağ topoloji, hakkında bilgi ortaya koymaktadır.


2

Traceroute, bazı yönlendiricilerin yanıt vermeyecek şekilde yapılandırılmış olabileceği ICMP iletilerine dayanır.


Ping aynı zamanda ICMP'dir, farkı açıklamıyor. Devlet traceroute'un udp'u kullanabileceği ve daha önce bilmediğim diğer cevapları okuma avantajlarına sahibim.
Rich Homolka,

Eh, traceroute ICMP paketlerini açıkça engellemenin bir yolu, gelen ICMP'leri TTL = 1 olan düşürmektir. Belki de bunu bir sebepten yapıyorlar.
LawrenceC

2

Bazen pingtraceroute benzeri bilgi almak için kullanmaya değer :

#!/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

-T $ TTL argümanıyla ping komutu vererek, güvenlik duvarını bazen temizleyebilir ve güvenlik duvarlarının arkasındaki yönlendiricilerin IP adreslerini vb. Öğrenebilirsiniz.


3
Bu, -I bayrağıyla traceroute çağırmakla aynıdır, ancak (çok garip) süper kullanıcı durumu gerektirecektir.
Tzarium

1
@Tzarium ping ayrıca superuser durumunu gerektirir, sadece suid biti ayarlanmış, bu yüzden ücretsiz alabilirsiniz.
itsadok

0

Ya baştan başa sallananların tümü UDP paketlerine yanıt vermiyor ya da düğüm 6'nın kendisi udp paketlerini engelliyor. ICMP / TCP SYN saptama blokları yolundaki hangi düğüme bağlı olarak çalışacağını umduğum gibi flört yöntemlerini deneyebilirsiniz:

  1. Traceroute için ICMP kullanın: $ sudo traceroute -I

  2. Traceroute için TCP syn kullanın: $ sudo traceroute -T

  3. Aşan şerbetçiyse, aşağıdakilerden birini kullanın: $ sudo traceroute -I -m 60

VEYA

$ sudo traceroute -T -m 60

İkincisi kıtadaki bir ftp'ye giderken benim için çalıştı.


0

Unix ortamında traceroute yapmak için ping komutunu kullanmak için şunu deneyin:

for ((TTL=1;TTL<30;TTL++));
do
ping -c 1 -t $TTL <IP>;
done
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.