Nmap Kullanımı

Nmap nedir ? Nmap nasıl kullanılır ?

Açılımı Network Mapper olan Nmap, adından da anlaşılacağı üzere ağ taraması, çalışan servislerin durumları, versiyonları hakkında detaylı bilgi veren açık kaynaklı bir yazılımdır.
Programcısı Fyodor lakablı Gordon Lyon’dur. Linux, MacOS ve Windows platformlarını destekler.

Network işi ile uğraşan kişilerin sıkça kullandığı bir yazılımdır. Hatta o kadar popüler bir uygulamadır ki birçok filme dahi konu olmuştur. Kısaca bir girişten sonra nasıl kullandığı konusuna gelelim. Tarama türlerini, parametreleri inceleyelim.
Biz uygulamamızı Kali Linux üzerinden aktaracağız. Nmap, Kali linux üzerinde varsayılan olarak gelmektedir. Linux’un başka bir dağıtımını kullanıyorsanız, paket yöneticisi kullanarak kolaylıkla indirebilirsiniz. Diğer platformlar için, sisteminize uygun olan sürümünü alttaki adresten indirip, kurabilirsiniz.

https://nmap.org/download.html

Komut satırını(terminal) açıp, nmap yazdığımızda bünyesindeki parametreler hakkında detaylı bilgiye ulaşabilirsiniz.

Nmap, port durumlarını aşağıdaki gibi ifade eder.

Open: Port açık ve üzerinde bir servis çalışıyor.
Closed: Port kapalıdır. Ancak erişilebilirdir. Üzerinde herhangi bir servis çalışmıyor.
Filtered: Portun açık veya kapalı olduğu bilinemiyor. Filtreleme var.
Unfiltered: Ack taramasından dönen bu cevap, servisin erişilebilir fakat kapalı mı yoksa açık mı olduğu bilinmiyor.
Open|Filtered: Udp, İp, Fin, Null ve Xmas taramalarından dönen bu cevap, servisin açık ya da filtrelenmiş olduğu taramada anlaşılamamıştır.
Closed|Filtered: İdle tarama sonucunda dönen bu cevap, o portun kapalı ya da filtreli olduğunu bilinmiyor.

 

Tarama türlerinden başlayalım.

Tarama türlerinden önce ufak bir bilgi ile başlayalım. Genel syntax’ı aşağıdaki gibidir.

nmap [Tarama türü] [Özellikler] [taranacak_hedef] şeklindedir.

Tarama parametreleri, -s[Tarama türü] şeklinde ifade edilir. Örneğin Tcp taraması yapacaksak -sT, Syn taraması yapacaksak -sS gibi. Baştaki -s, scan anlamına gelir.

TCP Connect taraması (-sT)

Bu tarama türünü anlatırken önce tcp iletişiminden bahsedelim. Sunucu istemci arasında tcp bağlantısı, 3 yönlü el sıkışması (Three Way Handshake) ile gerçekleşir.

three way handshake

3 yönlü el sıkışmada, istemci taraf iletişim kurmak istediği tarafa SYN paketi gönderir. Bu pakete karşılık sunucu taraftan, istekten bulunan tarafa SYN+ACK paketi ile cevap verilir. İstemci taraf ACK paketi göndererek oturumu başlatır ve iletişim kurulmuş olur.

Tcp taraması arka planda bu işlemlerden geçer. Yani sunucu taraf, SYN+ACK paketi ile cevap döndürürse o servisin açık olduğu anlamına gelir. Fakat RST+ACK paketi dönerse o servisin kapalı olduğu anlamına gelir.

Nmap, varsayılan tarama türü olarak tcp connect taramasını kullanılır. Yani herhangi bir tarama parametresi girmezseniz tcp taraması yapacaktır.

Ek olarak tcp taraması, karşı taraf ile oturum açıldığından diğer tarama türlerine göre daha yavaştır.

tcp connect scan

Tcp Syn Taraması (-sS)

Syn taramasının, tcp connect taramasına göre farkı sunucudan gelen SYN+ACK paketine karşılık ACK paketi gönderilmez. Sunucu tarafa RST paketi gönderilerek iletişim sonlandırılır.
Syn taraması arka planda bu işlemlerden geçer. Eğer sunucu taraftan SYN+ACK paketi geldiyse o servisin açık olduğu anlaşılır ve bağlantı sonlandırılır. Fakat sunucu taraftan RST+ACK dönerse
servisin kapalı olduğu anlamına gelir.

Syn taraması, tcp taramasına göre daha hızlıdır.

Udp Taraması (-sU)

Udp iletişimi tcp’den farklıdır. Taranan ip’ye bir udp datagramı gönderilir. Eğer makinadan ICMP Port Unreachable paketi geliyorsa kapalı, gelen paket udp paketi ise port açıktır.

Ping Taraması (-sP)

Ping taraması, ağdaki ayakta olan cihazların tespiti için yapılır. Ağda bulunan tüm cihazlara ICMP Echo Request paketi gönderilir. Geriye ICMP Echo Reply cevabı geliyorsa cihazın açık olduğu anlaşılır.

Null Taraması (-sN)

Bu tarama türünde bayraklar(flaglar) set edilmemiştir. Taranan cihaz, RST+ACK paketi döndürüyorsa port kapalı, herhangi bir cevap döndürmüyorsa port açıktır.

Fin Taraması (-sF)

Hedef ip’ye FİN paketleri yollanır. Geri dönen cevap RST+ACK paketi ise port kapalıdır. Port açık durumlarda ise herhangi bir cevap döndürmeyecektir.

Xmas Taraması (-sX)

Bu tarama türünde gönderilen isteklerde URG, PSH ve FİN flagları 1 olarak gönderilir. Taranan cihazda port kapalı ise RST+ACK, açık ise bir cevap dönmeyecektir.

Ack Taraması (-sA)

Bu taramada, hedef cihazdaki portun filtreli olup olmadığı anlaşılır. ACK flagı 1 set edilerek, hedef sisteme paketler gönderilir. Taranan cihazdan RST paketi geliyorsa unfiltered, ICMP Port Unreachable cevabı geliyorsa portun filtered olduğu anlaşılır.

Window Taraması (-sW)

Bu taramada taranan sistemden dönen cevaptaki window boyutlarına bakılarak portun açık veya kapalı olduğu anlaşılır.

İdle Taraması (-sI)

Bu tarama zombi bilgisayarlar tarafından yapılır. Taranacak olan cihaza istekler zombi bilgisayar tarafından gider.

 

Tarama türlerinden bahsettiğimize göre parametrelere geçelim.

Port tanımlama (-p parametresi)

Tarama yaparken port tanımlamazsanız varsayılan olarak popüler 1000 portu taranır.
-p parametresini kullanarak ister tek portu, birden fazla portu, port aralıklarını veya en çok kullanılan portları taramasını isteyebilirsiniz.

version scan

nmap -p 21 x.x.x.x örneğindeki gibi tek portu,
nmap -p 21,80,443 x.x.x.x örneğindeki gibi birkaç portu,
nmap -p 1-500 x.x.x.x örneğindeki gibi belli bir port aralığını,
nmap –top-ports <n> x.x.x.x örneğindeki gibi en çok kullanılan n portu tarar,
nmap -p0- x.x.x.x örneğindeki gibi tüm portları tarayabilirsiniz.

Ayrıca taradığınız sistemdeki sadece açık olan portları görmek istiyorsanız –open parametresini kullanabilirsiniz.

-iL parametresi ile birlikte de belli bir dosya içindeki ip’leri tarayabilirsiniz.

Örneğin: nmap -sS -iL ipler.txt

Hedef Tanımlama

Tarama yaptığımızda, port tanımlamamızda ki olduğu gibi hedef tanımlarken de tek bir ip, domain, bir ip aralığı veya alt ağ maskesini kullanarak çeşitli taramalar gerçekleştirebiliriz.

nmap -sS 192.168.146.128 örneğindeki gibi tek ip’yi
nmap -sS 192.168.146.128-150 örneğindeki gibi belli bir ip aralığını,
nmap -sS 192.168.146.0/24 örneğindeki gibi tüm ağı,
nmap -sS domain_adi şeklinde istediğiniz şekilde kullanabilirsiniz.

Versiyon Bilgileri Tespiti (-sV parametresi)

Tarama yaparken portların açık veya kapalı olma durumunun yanında versiyon bilgilerinin de tespit edilmesi oldukça önemli bir konudur. Bu parametre ile portlar üzerinde çalışan uygulamalara dair daha detaylı bilgiye ulaşabiliriz.

version scan

İşletim Sistemi Tespiti (-O parametresi)

Tarama yaptığımız cihaz üzerindeki işletim sistemi hakkında bilgi almak için -O parametresini kullanabiliriz. Alternatif olarak da -A parametresi (Aggressive scan) ile hem işletim sistemi hem de versiyon bilgilerini tespit edebiliriz.

-Pn parametresi

Taradığımız sisteme ping atmamasını istiyorsak bu parametreyi kullanabiliriz.

-n parametresi

Taradığınız cihaza dns çözümlemesi yapılmasını istemiyorsanız bu parametreyi kullanabilirsiniz.

-v parametresi

Verbose anlamına gelir. Tarama esnasında, hangi aşamada olunduğu gibi çeşitli bilgileri görmek istiyorsanız bu parametreyi kullanabilirsiniz.

–script parametresi

Nmap bünyesinde birçok script barındırır. Bu scriptler ile çeşitli işlemler yapabilirsiniz.
–script parametresi ile kullanabilirsiniz.
locate *.nse” ile scriptleri listeleyebilirsiniz.

Nmap, tarama yaparken karşı tarafa paketler yolluyor ve bu paketlere gelen cevaplar ile bizlere sonuçlar döndürüyor demiştik. İşte tam burada karşı tarafa giden paketlerin hızını, bekleme sürelerini ayarlarlayabiliriz.
-T parametresi ile, varsayılan olarak -T3 tür. kullanılabilir 6 farklı seviyesi vardır.

-f parametresi ile paketleri parçalayıp gönderebiliriz.

Sonuçların Çıktılara Aktarılması:

Nmap ile tarama yaptığımızda karşımıza çıkan sonuçları -oN parametresi ile bir dosyaya yazabiliriz.

nmap -sS -oN rapor.txt x.x.x.x

Nmap ile farkı formatta çıktılar da alabiliriz. -oX ile xml türünde çıktı alabiliriz.

Nmap’ın grafiksel arayüzü de bulunmaktadır. Zenmap ile komut satırından değilde arayüz üzerinden istediğiniz taramayı gerçekleştirebilirsiniz.

Daha fazlasına nmap.org adresinden ulaşabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir