İçeriğe atla

Internet Control Message Protocol

Internet Control Message Protocol
AmaçIPv4 için yardımcı protokol[1]
Geliştirici(ler)DARPA
Kullanıma giriş1981
OSI katmanıAğ katmanı
RFC(ler)RFC 792
İnternet iletişim kuralları dizisi

OSI modeli

Katmanİletişim kuralları
7.Uygulama katmanı HTTP, DNS, SMTP, FTP, TFTP, UUCP, NNTP, SSL, SSH, IRC, SNMP, SIP, RTP, Telnet, ...
6.Sunum katmanıISO 8822, ISO 8823, ISO 8824, ITU-T T.73, ITU-T X.409, ...
5.Oturum katmanıNFS, SMB, ISO 8326, ISO 8327, ITU-T T.6299, ...
4.Ulaşım katmanıTCP, UDP, SCTP, DCCP, ...
3.Ağ katmanıIP, IPv4, IPv6, ICMP, ARP, İnternet Grup Yönetim Protokolü, IPX,...
2.Veri bağlantısı katmanıEthernet, HDLC, Wi-Fi, Token ring, FDDI, PPP, L2TP...
1.Donanım katmanıISDN, RS-232, EIA-422, RS-449, EIA-485, ...

Internet Control Message Protocol (ICMP), hata mesajları ve TCP/IP yazılımının bir takım kendi mesaj trafiği amaçları için kullanılır. ICMP RFC 792'de tanımlanmış ve RFC 950'de revize edilmiştir. Hataları raporlamak için kullanılan, kontrol amaçlı bir protokoldür. Bu şekilde normal kullanımının yanında, uzak sistem hakkında bilgi toplamak için sıkça kullanıldığından çok önemlidir. Genel olarak sistemler arası kontrol mesajları IP yerine ICMP üzerinden aktarılır. ICMP, IP ile aynı düzeyde olmasına karşın aslında kendisi de IP’yi kullanır. ICMP' nin hata raporlamak için kullanılması, IP'yi güvenli yaptığı anlamına gelmez. Datagram, yerine ulaşmayabilir ve bununla ilgili bir hata mesajı da gelmeyebilir. ICMP mesajlarındaki hataları raporlamak için ICMP kullanılmaz. ICMP, TCP/IP' nin işlemesine yardımcı olan bir protokoldür. Her hostta mutlaka ICMP protokolü çalışır. Hata durumunda host tarafından geri bilgilendirmeyi sağlar.

ICMP ağ hakkında bazı bilgileri toplamak amacı ile de kullanılır. IP hata-raporlama veya hata-düzeltme mekanizmalarına sahip değildir. ICMP yapı olarak UDP 'ye benzer bir protokoldür. ICMP de mesajlarını sadece bir datagram içine koyar. Bununla beraber UDP'ye göre daha basit bir yapıdadır. Başlık bilgisinde port numarası bulundurmaz. Bütün ICMP mesajları ağ yazılımının kendisince yorumlanır, ICMP mesajının nereye gideceği ile ilgili bir port numarasına gerek yoktur.

ICMP paketleri ortamda bir geri besleme sağlarlar. Bu yolla ciddi sorunları, haberleşen birimlere bildirerek bir hata bildirim mekanizması oluştururlar. ICMP mesajı, IP paketinin veri bölümünde taşınır. Bu yüzden ICMP paketlerinin dağıtım güvenilirliği, IP paketlerinin dağıtım güvenilirliği ile sınırlı kalmaktadır. Buradan ICMP paketlerinin güvenilir iletilemeyeceği ve hedefe vardığının garanti edilemeyeceği sonuçları çıkarılabilir.

ICMP kullanan komutlara örnek olarak ping ve traceroute verilebilir.

ICMP paketinin yapısı ve formatı

ICMP mesajları IP datagramının kullanıcı verisi alanında taşınır. IP başlığındaki protokol alanı 1'e set edilerek ICMP'nin kullanıldığı gösterilir. Tüm ICMP mesajları üç alandan oluşur.

IP Başlığı
Tip(8)
Kod(8)
Toplamsal-Hata(16)
Parametreler(eğer parametreler yoksa kullanılmaz)
Bilgi(Değişken)
n=( alandaki bitlerin sayisi )
  1. Tip alanı: mesajın tipini tanımlar.
  2. Kod alanı: hata veya durum bilgisi tipini tanımlar.
  3. Toplamsal-hata (checksum) alanı: ICMP mesajının 16-bit lik 1'e tümleyenini hesaplar.
  4. Parametreler: Parametrelerin daha uzun halinin belirlenmesinde kullanılır.
  5. Bilgi: Mesajla ilgili bilgidir.

ICMP neden kullanılır

ICMP şu amaçlarla kullanılır.

  • TTL süresi dolduğu zaman paketin sahibine bildirim yapmak
  • Herhangi bir durumda yok edilen paket hakkında geri bildirim sağlamak
  • Parçalanmasın komutu verilmiş paket parçalandığında geri bildirim sağlamak
  • Hata oluşumlarında geri bildirim sağlamak
  • Paket başka bir yoldan gideceği zaman geri bildirim sağlamak

ICMP hata ve durum raporlama prosedürleri

ICMP tarafından rapor edilen hata ve durum raporlama servisleri aşağıda listelenmiştir.

Tip Kodu Değeri ICMP Mesajın Tipi
0Eko yanıt-ping yanıtı (Echo Reply)
3Hedefe Erişilemedi (Destination Not Reachable)
4Kaynak Kapatmak (Source Quench)
5Yeniden Yönlendirme (Redirection Required)
8Eko yanıt-ping isteği (Echo Request)
9Yönlendirici tanıtımı
10Yönlendirici istemi
11Zaman aşımı—traceroute kullanır (Time to Live Exceeded)
12Parametre Problemi (Parameter Problem)
13Timestamp İstemi (Timestamp Request)
14Timestamp Yanıtı (Timestamp Reply)
15Bilgi İstemi (Information Request)
16Bilgi Yanıtı (Information Reply)
17Addres Maskesi istemi (Address Mask Request)
18Addres Maskesi yanıtı (Address Mask Reply)

ICMP mesaj tipleri ile internet uzerinde kontrol amaçlı birçok program yazılması olasıdır. Örneğin timestap mesajları kullanılarak internet üzerindeki gecikmeler ölçülebilir.

ICMP uygulamaları

Basit ve sıkça kullanılan 2 tane ICMP uygulaması vardır: Ping ve Traceroute. Daha çok ağ üzerindeki sorunları tespit edebilmek ya da çözmek için kullanılan bu 2 uygulama aynı zamanda, hacking işleminin başlangıç aşamalarından birini oluşturur. Ağdaki canlı makineleri bulabilmek için ping taramaları ya da ağın haritasını çıkartabilmek için traceroute uygulamaları hacker'ler tarafından sıkça kullanılır.

Ping en basit TCP/IP uygulamasıdır. Bir hosta ulaşmanın ilk adımı ona ping çekmektir. Eğer bir hosta ping ile ulaşabiliyorsanız, telnet ya da FTP ile ulaşmanız (ilgili portlar açıksa) mümkündür. Son yıllarda güvenlik duvarlarının yönlendiricilerdeki "access list"lerin ve diğer güvenlik kontrol mekanizmalarının sıkça kullanılmaya başlanılmasıyla bu yargı değişmeye başlamıştır. Yani bir hosta ping çekemiyorsanız, telnet ya da ftp yapamayacağınız anlamına gelmez. Ping uygulaması, ICMP Echo ve ICMP Reply mesajlarını kullanarak bir hostun erişilebilir olup olmadığını belirler. Ping, alıcı bilgisayara "echo request" paketi gönderirken, cevap olarak da "echo reply" paketini bekler. Traceroute programı ise gönderen bilgisayardan alıcı bilgisayara giden paket ve izlediği yolla ilgili çok önemli bilgiler verir. Bu bilgiler arasında en çok kullanılanı "paketin izlediği yol (path)" bilgisidir. Bu sayede paketin hangi yollardan geçerek alıcı hosta ulaştığı rahatlıkla izlenebilir. Traceroute programı ICMP protokolünün bir parçasıdır. ICMP protokolü, iki host arasında bilgi akışı olurken, bu esnada ortaya çıkan hataları ve diğer bilgileri mesaj yoluyla raporlar.

ICMP sorgulaması

Ping taraması bir ICMP uygulamasıdır ama bir sistem hakkında ICMP sorgulaması yapmak sadece ping paketleri ile yapılmaz. Bir sisteme birçok yoldan ICMP sorgulaması yapılabilir ve çok değerli bilgiler elde edilebilir. Mesela, Unix tabanlı sistemlerde kullanılan "icmpquery" ya da "icmppush" uygulaması sayesinde sistemin saati(hangi zaman bölgesinde olduğu) "ICMP type 13" (TIMESTAMP) ile öğrenilebilir ya da bir hostun hangi ağ maskesinde olduğu "ICMP type 17" (ADDRESS MASK REQUEST)mesajı ile elde edilebilir. maskesi(Netmask) bilgisi önemlidir, çünkü saldırgan sadece belli bir alt ağdaki(subnet) sisteme saldırmak isteyebilir.Burada dikkat edilmesi gereken bir nokta da tüm yönlendiricilerin ICMP TIMESTAMP ya da ICMP NETMASK sorgulamasına cevap vermedikleridir.

Önlemler

ICMP sorgulamasını engellemek, ilgili ICMP tiplerini (ICMP TIMESTAMP - type 13 gibi) bloke etmekle yapılabilir. Cisco yönlendiricilerde bu engelleme genişletilmiş erişim listesiyle şöyle yapılır:

Access-list 101 deny icmp any any 13

Ancak ICMP paketlerini engellemek, ağdaki sorunların çözülmesini geciktirebilir. ICMP sorgulaması saldırı tespit programları ile rahatlıkla gözlenebilir.[2]

İç bağlantılar

Kaynakça

  1. ^ F. Baker (Haziran 1995), Baker, F. (Ed.), Requirements for IP Version 4 Routers, p. 52, RFC 1812 $2 
  2. ^ Hacking Bilişim Korsanlığı ve Korunma Yöntemleri-Davut Yılmaz

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">IPv4</span> İnternet Protokolünün 4. sürümü

İnternet Protokol Versiyon 4 (IPv4), İnternet Protokolü'nün (IP) dördüncü versiyonudur.

Basit Ağ Yönetim Protokolü, bilgisayar ağları büyüdükçe bu ağlar üzerindeki birimleri denetlemek amacıyla tasarlanmıştır. Cihaz üzerindeki sıcaklıktan, cihaza bağlı kullanıcılara, internet bağlantı hızından sistem çalışma süresine kadar çeşitli bilgiler SNMP'de tanımlanmış ağaç yapısı içinde tutulurlar.

<span class="mw-page-title-main">UDP</span>

UDP, TCP/IP protokol takımının iki aktarım katmanı protokolünden birisidir. Verileri bağlantı kurmadan yollar.

Telnet, Internet ağı üzerindeki çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için geliştirilen bir TCP/IP protokolü ve bu işi yapan programlara verilen genel isimdir. Telnet iki bileşenden oluşur: (1) iki tarafın nasıl iletişim kuracağını belirleyen protokolün kendisi ve (2) hizmeti sağlayan yazılım uygulaması.Kullanıcı verileri, İletim Kontrol Protokolü (TCP) üzerinden 8 bitlik bayt yönlendirmeli bir veri bağlantısında Telnet kontrol bilgisi ile bant içi serpiştirilir. Telnet, 1969'da RFC 15 ile başlayarak geliştirildi, RFC 855'te genişletildi ve ilk İnternet standartlarından biri olan İnternet Mühendisliği Görev Gücü (IETF) İnternet Standardı STD 8 olarak standartlaştırıldı. encryption sağlayan bazı Telnet eklentileri geliştirilmiştir. Bağlanılan makineye girebilmek (login) için orada bir kullanıcı isminizin (İng:username) ve bağlantının gerçekleşebilmesi için bir telnet erişim programınızın olması gereklidir. Fakat bazı kütüphane ve herkese açık telnet bazlı web servisleri, bağlantı sırasında kullanıcı ismi (numarası) istemeyebilirler; ya da, kullanıcı isim ve parola olarak ne yazmanız gerektiği bağlandığınızda otomatik olarak karşınıza çıkar. Telnet, BBS sistemlere İnternet üzerinden erişimde günümüzde yaygın olarak kullanılmaktadır. Telnet erişim programları, günümüzdeki işletim sistemlerinin çoğunda işletim sistemi ile birlikte gelmektedir. Çok kullanıcılı işletim sistemleri genellikle kullanıcılara metin tabanlı bir arayüz sunar ve bu sistemlerde tüm işlemler klavye vasıtası ile komut isteminden gerçekleştirilir.

Ağ katmanı veya 3. katman, veri paketinin farklı bir ağa gönderilmesi gerektiğinde, veri paketine yönlendiricilerin kullanacağı bilginin eklendiği katmandır. Örneğin IP iletişim kuralı bu katmanda görev yapar.

<span class="mw-page-title-main">İnternet iletişim kuralları dizisi</span>

İnternet protokol takımı, bilgisayarlar ve ağ cihazları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş kurallar dizisidir. Bu kurallar dizisi temel olarak verinin ağ üzerinden ne şekilde paketleneceğini ve iletilen veride hata olup olmadığının nasıl denetleneceğini belirlemektedir.

<span class="mw-page-title-main">SIP</span>

Oturum başlatma Protokolü (SIP), ses, video ve mesajlaşma uygulamalarını içeren gerçek zamanlı oturumları başlatmak, sürdürmek ve sonlandırmak için kullanılan bir sinyal protokolüdür. VoIP gibi IP üzerinden üzerinden ses, görüntü ve anlık mesaj iletişimi yanı sıra LTE (VoLTE) üzerinden cep telefonu araması için multimedya iletişim oturumlarını sinyalize etmek ve kontrol etmek için kullanılır. Günümüz IP Telefonlarının çoğunluğu SIP Protokolü ile çalışmaktadır. Cisco gibi bazı üreticiler SIP kullanmakla beraber bazı telefon modellerinde SCCP tercih etmektedir.

<span class="mw-page-title-main">TCP</span>

TCP (Transmission Control Protocol), TCP/IP protokol takımının taşıma katmanı protokollerinden birisidir. Son güncellemesi Ağustos 2022 tarihi itibarıyla RFC 9293 içerisinde tanımlanmıştır.

Adres Çözümleme Protokolü ağ katmanı adreslerinin veri bağlantısı katmanı adreslerine çözümlenmesini sağlayan bir telekomünikasyon protokolüdür. 1982 yılında RFC 826 aracılığıyla tanımlanmıştır. STD 37 kodlu bir internet standardıdır.

IGMP, TCP/IP'de çoklu dağıtım (multicast) üyelerini yönetmek için kullanılan bir iletişim protokolüdür. Taşıma protokolü gibi davranmamasına rağmen, ağ katmanının üzerinde çalışması IP çokludağıtımın önemli bir özelliğidir. Tekli dağıtım(unicast) bağlantılardaki ICMP ye benzerdir. IGMP online streaming videolarda ve oyunlarda kullanılabilir. Bu tip uygulamaları desteklerken kaynaklarının daha verimli şekilde kullanılmasını sağlar.

Trivial File Transfer Protocol (TFTP) 1980 yılında tanımlanmış, FTP' nin temel fonksiyonel şekli olarak ifade edilen basit bir dosya transfer protokolüdür.

Traceroute ya da İzleme Yolu açık kaynak kodlu bir ağ analizi yazılımıdır.

<span class="mw-page-title-main">OSI modeli</span>

Open Systems Interconnection (OSI) modeli ISO tarafından geliştirilmiştir. Bu modelle, ağ farkındalığına sahip cihazlarda çalışan uygulamaların birbirleriyle nasıl iletişim kuracakları tanımlanır.

ToS IP datagram başlığı üzerinde yer alan servis türü alanı, ağları talep ettikleri hizmetler hakkında bilgilendirir. Bu bilgilere hizmet parametreleri denir. Böylece öncelik, gecikme, hizmet gibi parametre tanımlamaları yapılabilir. 8 bitlik alan içerisinde yer alan bitlerin taşıyabileceği anlamlar şunlardır.

ICMPv6(Internet Control Message Protocol Version 6 )

Bilgisayar ağları konusunda geçen Önyükleme Protokolü veya BOOTP, bir yapılandırma sunucusundan bir IP adresi almak için bir ağ istemcisi tarafından kullanılan bir ağ protokolüdür. BOOTP protokolü ilk olarak RFC 951 içerisinde tanımlanmıştı.

TCP/IP, yapı olarak iki katmanlı bir haberleşme protokolüdür. Üst Katman TCP verinin iletimden önce paketlere ayrılmasını ve karşı tarafta bu paketlerin yeniden düzgün bir şekilde birleştirilmesini sağlar. Alt Katman IP ise, iletilen paketlerin istenilen ağ adresine yönlendirilmesini kontrol eder.

<span class="mw-page-title-main">Port tarayıcı</span>

Port tarayıcı, açık portlar için bir sunucuyu veya ana bilgisayarı araştırmak için tasarlanmış bir uygulamadır. Bu tür bir uygulama, yöneticiler tarafından bilgisayar ağlarının güvenlik politikalarını doğrulamak ve saldırganlar tarafından bir ana bilgisayar üzerinde çalışan ağ hizmetlerini tanımlamak ve güvenlik açıklarından yararlanmak için kullanılabilir.

Bir ICMP tüneli, ICMP yankı istekleri ve yanıt paketlerini kullanarak iki uzak bilgisayar arasında gizli bir bağlantı kurar. Bu tekniğin bir örneği ping istekleri ve yanıtları üzerinden tüm TCP trafiğini tünellemektir.

Çap, Uzun Vadeli Evrim (LTE) ve IP Multimedya Sistemlerinde (IMS) kimlik doğrulama, yetkilendirme ve muhasebe (AAA) bilgilerini değiş tokuş etmek için kullanılan yeni nesil endüstri standardı bir protokoldür. Daha önceki RADIUS protokolünden evrimleşmiştir. RADIUS "Remote Authentication Dial-in User Service" tanımından alan ve uygulama katmanlı protokollerden biridir. İletişim yöntemi olarak Network UDP protokolünü kullanır. Server (Sunucu) / Client (İstemci) mimarisini kullanır.İnternet protokol paketindeki uygulama katmanı protokollerine aittir.