Diğer adıyla Networ Mapper olan bu araç bilgisayar üzerinde açık portları ve sistemin diğer bilgilerini bulmaya yarar. OpenBSD, Sun OS, FreeBSD, Solaris, NetBSD, MAC OS X, IRIX, HP-UX, Amiga, Linux ve Windows sistemlerini de destekler. Metasploit ve Armitage gibi yazılımlar hedef sistem bilgilerini bulmak için bu aracı kullanırlar.
Yeni başlayanlar için alışma süreci biraz zorlu olacaktır fakat kullanımı kolaydır. Eğer oturumunuz yönetici ise araç daha hızlı (SYS Scan) değilse daha yavaş (Connect Scan) çalışacaktır. Yaklaşık 15 farklı arama tipi ve 20 farklı çıktı tipi bulunur.
#> nmap host şeklindeki arama basit açık port ögrenme işlemidir.#> nmap ip_adres şeklinde arama yapılırsa DNS Lookup işlemi yapılmaz. Üstteki işlemin ip adresi ile yapılanıdır.#> nmap –v ip_adres şeklindeki bir komut bize daha detaylı bir liste sunar. Daha detaylı almak isterseniz -vv şeklinde bir komut kullanabilirsiniz.#> nmap -A ip_adres şeklindeki bir arama yapılırsa verilen ip adresine İşletim sistemini ve versiyon taraması ardından script taraması yapar.#> nmap -O ip_adres ise sadece İşletim Sistemi (Operating System) bilgisini listeler.#> nmap –P0 ip_adres bu komut ise portlara ping atmadan açık olup olmadığını kontrol eder.#> nmap –F ip_adres komutu ile hızlı port taraması yapabilirsiniz (-F = Fast).#> nmap –p 1-15,20-38 ip_adres parametresi ise belirli aralıktaki portları scan eder. Benim verdiğim komutta 1-15 arası ve 20-38 arası portları kontrol edecek. İsterseniz -p 80 gibi bir komut vererek tek bir portu kontrol edebilirsiniz (Benim komutum 80 portunu scan eder).#> nmap ip_adres–(sayı) komutu, örneğin ; 192.168.2.1-3 yazdığınızda -3 parametresi sebebiyle 192.168.2.1, 192.168.2., 192.168.2.3 ağlarını tek kontrol edecektir.#> nmap –iL dosya_ismi ile belitilen dosyanın içindeki hostları veya ip adreslerini tarar.#> nmap –oN dosya_ismi ip_adresi komutu ise ip adresinin çıktısını belirlediğiniz dosya ismi ile bulunduğunuz klasöre kaydeder.#> nmap –T(1-5) ip_adresi komutu ise cevabın geliş hızını arttırır diyebiliriz. Belirlediğiniz sayı süresinde gelen cevabı alıp size sunar. Tabii ki bilginin güvenilirliği azalır.Öncelikle birkaç kavramdan bahsedeyim ;
Kaynak bilgisayar, Hedef server a SYN bayraklı paket gönderir ve portlar kapalı ise RST+ACK mesajı ile geri döner.
Portlar açık ise hedef server SYN+ACK cevabını verir, Kaynak makine ise RST cevanını verir.
#>nmap -sS ip_adres ile bu taramayı başlatabilirsiniz.
#> nmap -sT ip_adres ile aynı şekilde portun açık olup olmadığını kontrol eder. Daha yacaş ama güvenilirdir.#> nmap -sF ip_adres komutu hedef sistemin TCP oturumunun olduğunu varsayıp kapatmak için gönderdiğiniz paketlerin içine FIN bayrağı ekler.#> nmap -sX ip_adres komutu diğer komutların açık port bulamadığı zaman devreye girer. Hedef sisteme bütün bayrakları içeren bir paket yollar, kapalı olan portların RST cevabı beklenir. Kapalı portlar cevap verdikten sonra cevap gelmeyen portlar açık olarak kabul edilir.#> nmap -sN ip_adres komutu XMAS Scan işe yaramadığı zaman devreye girer. İçinde flag bulunmayan paket yollayarak kapalı portların RST cevabı vermesi beklenir. XMAS Scan 'ın yaptığı gibi cevap gelmeyen portlar açık olarak kabullenilir.#> nmap -sV ip_adres ile verilen ip nin Service Version (Servis Version) kontrolü yapılır.#> nmap -sU ip_adres komutu açık olan UDP portlarını tespit için kullanılır.#> nmap -sO ip_adres komutu hangi protokollerin (TCP, UDP, ICMP etc) açık olduğunu gösterir.#> nmap -sA ip_adres komutu hedef sisteme yollanan paketin güvenlik duvarına (Firewall) takılmadan portun açık olup olmamasını kontrol eder.#> nmap -sW ip_adres parametresi ACK gibi tarama yapar. Portların açık olup olmadığı kontrol eder, gelen cevabın boyutundaki farklılıklardan hedefin işletim sistemini bulur.#> nmap -sL ip_adres hedefin DNS listesini çıkarır.#> nmap -sP ip_adres ise Ping Scan olarak tanımlanır. Hedef sistemin portlarına ping atıp gelen cevaba göre portun açık olup olmadığını kontrol eder.