Traceroute, UDP veya ICMP'yi mi yoksa her ikisini de mi kullanıyor?


24

Dizüstü bilgisayarımdan www.google.com etki alanında bir izleme yaptığımda icmp veya udp kullanıyorum mu?
İcmp tip 11 olduğunu düşündüm ama başka bir şey ararken icmp type 30'un kullanıldığı kurallarla karşılaştım ve udp'un kullanıldığı kuralları gördüm.
Birisi bana bunun nasıl çalıştığını açıklayabilir mi?
Sanal bir sunucu için güvenlik duvarı (iptables) üzerinde çalışıyorum.

Yanıtlar:


26

Gönderilen paket tipi, uygulamaya bağlı olarak değişir. Varsayılan olarak, Windows tracertICMP'yi kullanır ve hem Mac OS X hem de Linux tracerouteUDP'yi kullanır. Kontrol etmek için elimde BSD, Solaris veya başka bir işletim sistemim yok ama Mac OS X versiyonunun manüel sayfası BSD 4.3.

Mac ve Linux sürümleri, ICMP, TCP, UDP ve GRE paketleri de dahil olmak üzere çeşitli farklı protokoller seçme becerisine sahiptir. Diğer protokoller adları veya numaralarıyla belirtilebilir, ancak traceroute diğer protokollerin nasıl çalıştığı hakkında hiçbir şey bilmiyor. Sadece körce onları gönderir.

Ayrıca güvenlik duvarlarını önlemek veya yol boyunca hangi yönlendiricinin belirli boyutta paketleri bıraktığını keşfetmek için hem yükü hem de kaynak ve hedef portlarını değiştirebilirler.

Tüm traceroute sürümleri , rotadaki her sekmeden gelen ICMP tip 11 (Zaman aşıldı) yanıtlarına dayanır . ICMP tip 11 yanıtları güvenlik duvarınız tarafından engellenmişse, traceroute çalışmaz. Bu paketler gelen, giden değil.

ICMP tip 30 , özellikle traceroute için tasarlanmıştır ve "Bilgi İsteği" olarak etiketlenir. Bunun gerçekte kullanıldığı hiçbir yerde bulamadım. Mac OS X ve Linux sürümleri için man sayfası, ICMP tip 8 (yankı isteği) -Igöndereceğini söylüyor . Wikipedia, Windows'un aynı zamanda ICMP yankı isteklerini de kullandığını söylüyor . ICMP tip 30 veya tip 8, gelen değil giden paketlerdir.tracert

ICMP tip 0 (eko yanıtı), TTL atlama sayısını tam olarak eşitlediğinde, en son paket olarak geri gelebilir. Traceroute bunlardan birini aldığında bittiğini bilecektir. Bu gelen bir pakettir.

TCP SYN paketleri, hedeflerine ulaştıklarında yanıt olarak bir RSTpakete veya bir SYN ACKpakete neden olur . Bir SYN ACKpaket alırsanız RST, sunucuda yarı açık bir bağlantı bırakmamak için bir paketle devam etmeniz kibarlıktır .

"Parçalanma" bayrak kümesiyle büyük bir paket gönderirseniz, ICMP tip 11 kodları yerine ICMP tip 3 kod 4 yanıtlarını geri almak mümkündür , ancak bu yalnızca en küçük MTU'lu atlamayı bulmanızı sağlamak içindir. . Normalde bu tür yanıtları rota boyunca tek bir sekmeden alırsınız. Hepsi değil.


8

Geleneksel traceroute, her atlama için bağlantı noktalarını artırmada UDP'yi kullanır.

Uygulamak için her türlü paketi kullanabilirsiniz - ICMP, TCP SYN, vb. Tek gereken IP paketinin süresi doluyor ve altınsınız.

MacOS gibi çeşitli uygulamalar, güvenlik duvarı kısıtlamalarını atlamak için birden fazla traceroute türü ve ayrıca bağlantı noktalarını artırmayan modları destekler.


7
Unix benzeri uygulamalarda varsayılan UDP bağlantı noktası 33434 ila 33534 arasındadır. ICMP uygulamaları bir "eko isteği" kullanır (tip 8).
Ouki,
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.