Soru Traceroute UDP veya ICMP veya her ikisini de kullanıyor mu?


Dizüstü bilgisayarımdan www.google.com alan adında bir izleme yaptığımda, icmp veya udp kullanıyorum mı?
Ben 11 tipi icmp olduğunu düşündüm ama başka bir şey ararken, 30 tipi icmp'in kullanıldığı kurallara rastladım ve udp'nin kullanıldığı kuralları gördüm.
Birisi bana bunun nasıl çalıştığını açıklayabilir mi?
Sanal adanmış bir sunucu için güvenlik duvarı (iptables) üzerinde çalışıyorum.


23
2018-03-28 22:14


Menşei




Cevaplar:


Gönderilen paketin türü uygulamaya bağlı olarak farklılık gösterir. Varsayılan olarak Windows tracert ICMP ve hem Mac OS X hem Linux kullanıyor traceroute UDP kullan. BSD veya Solaris makinelerinde veya elinizde başka bir işletim sistemi yok, ancak Mac OS X sürümünün man sayfası, kendi prodüksiyonunun BSD 4.3 olduğunu belirtiyor.

Mac ve Linux sürümleri ICMP, TCP, UDP ve GRE paketleri de dahil olmak üzere çeşitli farklı protokolleri seçebilme imkanını sundum. Diğer protokoller isimleri veya numaraları ile belirtilebilir, ancak traceroute diğer protokollerin nasıl çalıştığı hakkında hiçbir şey bilmiyor. Sadece onları körü körüne gönderir.

Güvenlik duvarlarından kaçınmak veya yol boyunca hangi yönlendiricinin belirli bir boyuttaki paketleri bıraktığını keşfetmek için hem yükü hem de kaynak ve hedef bağlantı noktalarını değiştirebilirler.

Tüm traceroute sürümleri güveniyor ICMP tip 11 Rota boyunca her sekmeden gelen (Zaman aşımı) yanıtlar. ICMP tip 11 yanıtları güvenlik duvarınız tarafından engelleniyorsa, traceroute çalışmayacaktır. Bu paketler gelen değil, gelen.

ICMP tipi 30 Traceroute için özel olarak belirtilmiştir ve "Bilgi İsteği" olarak etiketlenmiştir. Bunun gerçekten kullanıldığı yerde hiçbir yer bulamadım. Mac OS X ve Linux sürümleri için man sayfa -I gönderecek ICMP türü 8 (yankı talebi). Vikipedi, Windows diyor tracert ayrıca ICMP echo isteklerini kullanır. ICMP tip 30 veya tip 8, gelen değil, giden paketlerdir.

ICMP türü 0 TTL tam olarak atlama sayısına eşit olduğunda (echo yanıtı) en son paket olarak geri gelebilir. Traceroute, bunlardan birini aldığında bittiğini bilecektir. Bu gelen bir pakettir.

TCP SYN paketler ya RST paket veya bir SYN ACK hedeflerine ulaştıklarında yanıt olarak paket. Eğer bir SYN ACK paket, takip etmek bir kibar RST paket sunucuda yarı açık bir bağlantı bırakmamak için.

Almak mümkün ICMP tip 3 kod 4 "Do not fragment" bayrak kümesine sahip büyük bir paket gönderiyorsanız, ICMP tip 11 yanıtları yerine yanıtlar geri dönecektir, ancak bu muhtemelen yalnızca en küçük MTU ile atlama bulmanızı sağlayacaktır. Normalde sadece bu tür bir tepkiyi rota boyunca bir atlamadan alırsınız. Hepsi değil.


25
2018-03-28 23:06





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

Bunu uygulamak için herhangi bir paket kullanabilirsiniz - ICMP, TCP SYN, vb. Tek yapmanız gereken IP paketinin sona ermesidir ve siz altınsınız.

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


8
2018-03-28 22:17



Unix benzeri uygulamadaki varsayılan UDP bağlantı noktası 33434'ten 33534'e kadardır. ICMP uygulamaları bir "eko isteği" (tip 8) kullanır. - Ouki