Bir IP adresine izleyebiliyorum, ancak ping atmıyorum


19

Windows'ta Google'a geçersem aşağıdakileri alırım;

C:\Users\Dave>tracert -d -w 100 www.google.com

Tracing route to www.google.com [216.58.220.100]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  192.168.1.1
  2    17 ms     *       16 ms  [redacted]
  3    17 ms    16 ms    17 ms  [redacted]
  4    34 ms    34 ms    34 ms  150.101.33.18
  5    35 ms    43 ms    33 ms  72.14.221.174
  6    33 ms    33 ms    33 ms  66.249.95.234
  7    31 ms    31 ms    31 ms  209.85.142.11
  8    33 ms    33 ms    38 ms  216.58.220.100

Trace complete.

Şimdi, 66.249.95.234'ün üçüncü son IP adresine ping atıyorsam, bunu anlıyorum ...

C:\Users\Dave>ping 66.249.95.234

Pinging 66.249.95.234 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 66.249.95.234:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

Tracert için içteki 'ping' nasıl bir şekilde gerçek ping'inkinden farklı çalışır? Nasıl farklılar? Ping'in tracert gibi çalışmasını sağlamak için ne yapmam gerekir?


3
ICMP ECHO bloke olmuş olabilir.
Burhan Khalid

Yanıtlar:


27

Her şey tracert'in nasıl çalıştığıyla ilgilidir. Ping, ağları yönlendirme kuralları üzerinden geçiren A noktasından B noktasına düz ICMP'dir. Tracert, ICMP kullansa bile çok farklı çalışıyor.

Tracert, son şeridi hedefleyerek, ancak TTL'yi sınırlandırarak ve bir süreyi bekleyerek iletiyi aşarak ve bir sonraki yineleme için birer birer artırarak çalışır. Bu nedenle, aldığı yanıt, yol boyunca ana bilgisayardan gelen ICMP yankı isteğine bir ICMP yankı yanıtı değil, bu ana bilgisayardan bir iletiyi aştı - bu nedenle ICMP kullanıyor olsa da, çok farklı bir şekilde kullanıyor .

Burada daha fazla ayrıntı okuyabilirsiniz .


12
Görünüşe göre 3 son 3 konak trafiği için yönlendirici olarak çalışması için yapılandırıldı: Nihai ping zaman aşımı neden nokta eklemek için aracılığıyla (ICMP TTL hatalarının kontrol mesajları EXCEEDED gönderme dahil) o ancak blok trafiğe için özel olarak cevap değil, bunun ICMP ECHO REQ. Bu arada, traceroute istemci hedef olarak nihai hop ile bir şey gönderebilir - bu olabilir ICMP ECHO REQ olabilir ama böylesi daha iyi, esp diğer ICMP mesajları tetikleyebilir hangi (bazı TCP SYN olabilir hedef jhost ulaşıldığında.. Aslında, uygulama işletim sistemleri arasında farklılık gösterir ve sonra tracepath...
Hagen von Eitzen

@HagenvonEitzen Bu kendi başına iyi bir cevap verecekti (en iyisi, IMO!)
Monica ile Lightness Yarışları

3
Ayrıca, birçok "tracert" uygulamasının ICMP paketleri bile göndermediğini belirtmek gerekir. En azından tracerouteUDP datagramlarını gönderen çoğu Linux'ta durum böyle , ancak Windows sürümünün ne yaptığından emin değilim. Ara şerbetçikler sadece ICMP için değil, her türlü paket için bir ICMP TTL AŞMALIDIR.
Dijital Travma

1
@DigitalTrauma Wireshark tracert, Windows 7'de ICMP Echo istekleri gönderdiğini söylüyor .
Bob

4

Her şeyden önce iki komutunuz farklı hedef IP adreslerine sahip paketler gönderiyor. Bu, farklı yollar izleyebilecekleri anlamına gelir.

Varış 66.249.95.234yolunu gördüğünüzde 216.58.220.100, hedef adrese sahip paketlerin 66.249.95.234o noktaya ulaşıncaya kadar aynı rotayı kullandığını varsayabilirsiniz . Ancak bu geçerli bir varsayım değildir.

Güzergahın güzergahından 66.249.95.234daha uzun olması tamamen geçerlidir 216.58.220.100. Bazen, paketlerinizi bu ara yönlendiriciye götürebilecek hiçbir yol olmadığı bile olur, ancak durum böyle olsaydı iyi tasarlanmış bir ağ olmazdı.

Kullandığınız tracertve pingkomutlarının her ikisinin de aynı protokolü kullanıp kullanmadığını bilmiyorum . Çoğu ping uygulaması ICMP yankı istek paketlerini kullanır. Bununla birlikte, traceroute uygulamaları, ICMP yankı isteği, TCP SYN ve UDP paketleri dahil olmak üzere çok çeşitli protokolleri desteklemektedir. İkisi farklı protokoller kullanıyorsa, bu, farklı sonuçları görmeye katkıda bulunan bir faktör olabilir.

Son olarak, tüm paketler ulaşmış olsa bile , gerekip gerekmediğine bağlı olarak çılgınca farklı davranması 66.249.95.234mümkündür 66.249.95.234:

  • Paketi ilet
  • Kendisine gönderilen bir pakette ICMP hatası üretme
  • Başka birine yönelik bir pakette ICMP hatası üretme

Üç durumdan sadece birinde paketleri sessizce bırakmayı seçmek, birçok ağ tanılama aracını kırmayacaktır, ancak bazı sistem yöneticilerinin bunu yapmasını yine de durdurmaz.


0

Ağdaki güvenlik giderek arttıkça, birçok insanın şimdi yaptığı kolay bir şey, ICMP protokolünün yönlerini temel olarak devre dışı bırakmaktır. Bu, traceroutes yanıt vermeyi ve FQDN'yi atlamadan döndürmeyi önler. Bazen yöneticiler bir şeyleri kilitler ve ping bile çalışmaz. Bu, ilgili sistemin yöneticisinin bir kararıdır.

Sistemin geniş bir ağ yükünü ele alma olasılığı da vardır, ICMP gerçek verilere kıyasla işlenmede genellikle çok düşük önceliğe sahiptir.


5
Bu soruya gerçekten cevap vermiyor. Soru, hem traceroute hem de ping ICMP kullanıyorsa, ping başarısız olursa ve traceroute başarılı olur.
MaQleod
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.