Themenersteller
#1
tcpdump ile ICMP paketlerini filtreleme
ICMP, ağ makineleri arasındaki hata bildirimleri ve ağ durumlarını iletmek için kullanılır. Özellikle ağ sorunlarını teşhis ederken ICMP trafiğini anlamak büyük avantaj sağlar. Bu yazıda, tcpdump ile ICMP paketlerini nasıl filtreleyebileceğinizi adım adım ele alacağım: temel filtrelerden ileri düzey yaklaşımlara kadar pratik örnekler sunacağım.
ICMP filtrelemeleri, ağda sorun tespiti yaparken hızlı ve odaklı çıktılar sağlar. Özellikle firewall veya güvenlik incelemelerinde hangi tür ICMP mesajlarının nereden geldiğini bilmek, yanlış yönlendirme veya blokaj durumlarını ortaya çıkarmada kilit rol oynar. ICMP trafiğini izlemek, ağınızın iletişim kurşunlarını ve sorunlu segmentleri haritalamanıza olanak tanır. Bu konudaki deneyimleriniz ve kullandığınız özel filtreler varsa paylaşabilir misiniz?
ICMP, ağ makineleri arasındaki hata bildirimleri ve ağ durumlarını iletmek için kullanılır. Özellikle ağ sorunlarını teşhis ederken ICMP trafiğini anlamak büyük avantaj sağlar. Bu yazıda, tcpdump ile ICMP paketlerini nasıl filtreleyebileceğinizi adım adım ele alacağım: temel filtrelerden ileri düzey yaklaşımlara kadar pratik örnekler sunacağım.
- Temel filtreme: ICMP tüm türlerini görmek
- Komut: tcpdump icmp
- Açıklama: ICMP protokolündeki tüm mesaj türlerini yakalar. Ping (Echo Request/Reply) dahil olmak üzere genel ICMP mesajlarını gösterir.
- Spesifik ICMP türleri
- Komut: tcpdump 'icmp[0] == 8' # ICMP Echo Request
- Komut: tcpdump 'icmp[0] == 0' # ICMP Echo Reply
- Komut: tcpdump 'icmp[0] == 11' # ICMP Time Exceeded
- Notlar: ICMP türü, ICMP mesaj başlığındaki ilk octet ile belirlenir. Türler ve kodlar için RFC 792’yi referans almak faydalıdır. Kodlar, türün alt mesajını belirler (örn. 11/0 - Time to Live exceeded, net).
- Kaynağa/gitse göre filtreleme
- Komut: tcpdump 'icmp and src 192.0.2.1'
- Komut: tcpdump 'icmp and dst 198.51.100.2'
- Kullanım amacı: Belirli bir cihazdan gelen ya da belirli bir hedefe giden ICMP paketlerini izlemek için kullanılır.
- ICMPv6
- Komut: tcpdump icmp6
- Açıklama: IPv6 ağlarında ICMPv6 mesajları için benzer filtrelemeler uygulanır. Örneğin echo request/reply için 'icmp6 and ip6[40] == 128' gibi dönüştürmeler gerekir; türler ICMPv6 için farklı kodlar içerir.
İpucu: Yoğun ICMP trafiğini analiz ederken, filtreleri adım adım yükseltmek iyi sonuç verir. Önce tüm ICMP’yi görüp sonra tür/kod bazında daraltma yapın ve analizleriniz için paket içeriklerini -özellikle başlık alanlarını- inceleyin.
CODE
123456789101112
[b]ICMP Echo Request ve Echo Reply'leri yakalama[/b]
tcpdump 'icmp and (icmp[0] == 8 or icmp[0] == 0)'
[b]Belirli bir kaynaktan gelen ICMP Echo Request'leri yakalama[/b]
tcpdump 'icmp and src 203.0.113.5 and (icmp[0] == 8)'
[b]ICMP Time Exceeded mesajlarını ve kaynak/dest ip'leri filtreleme[/b]
tcpdump 'icmp and (icmp[0] == 11) and (src not 0.0.0.0)'
[b]ICMPv6 için Echo Request/Reply[/b]
tcpdump 'icmp6 and (ip6[40] == 128 or ip6[40] == 129)'
ICMP filtrelemeleri, ağda sorun tespiti yaparken hızlı ve odaklı çıktılar sağlar. Özellikle firewall veya güvenlik incelemelerinde hangi tür ICMP mesajlarının nereden geldiğini bilmek, yanlış yönlendirme veya blokaj durumlarını ortaya çıkarmada kilit rol oynar. ICMP trafiğini izlemek, ağınızın iletişim kurşunlarını ve sorunlu segmentleri haritalamanıza olanak tanır. Bu konudaki deneyimleriniz ve kullandığınız özel filtreler varsa paylaşabilir misiniz?
