
Nmap, bilgisayar ağları uzmanı Gordon Lyon (Fyodor) tarafından C/C++ ve Python dilleri kullanılarak geliştirilmiş bir güvenlik tarayıcı yazılımıdır. Taranan ağın haritasını çıkarabilir, ağdaki makinalarda çalışan servislerin durumlarını, işletim sistemlerini ve portların durumlarını gözlemleyebilir.
Nmap ile ağa bağlı herhangi bir bilgisayarın işletim sistemi, çalışan fiziksel aygıt tipleri, çalışma süreleri, yazılımların hangi servisleri kullandığı, yazılımların sürüm bilgileri, bilgisayarın firewalla sahip olup olmadığı gibi bilgileri öğrenilebilmektedir.
Tamamen özgür lisanslı yazılımdır (GPL). Matrix isimli filmde de kullanılmıştır.
Kullanım alanları:
Herhangi bir ağ hazırlanırken ayarların test edilmesinde.
Ağ haritalaması, bakımı ve yönetiminde.
Bilinmeyen yeni sunucuları tanımlayarak güvenlik denetimlerinin yapılmasında.
Çalışma Prensibi
Taranılacak olan makinanın ismi girilirse nmap öncelikli olarak dns lookup işlemi yapar, bu aslında nmap fonksiyonu değil, ağı taramak için makinanın ip adresinin bilinmesi gerek ip bilgisini öğrenmek için dns lookup yapar ancak dns sorguları network trafiğinde gözüktüğünden isim ile tarama yapmadan önce ipyi daha farklı yöntemlerle öğrenebilirsek daha iyi olur.
İlk önce hedef makinayı pingler. Eğer ping işlemini iptal etmek istiyorsak -P0 seçeneği kullanılmalıdır.
Varsayılan olarak tam bağlantılı (full connect) TCP bağlantısı kurarak açık port taraması yapar. Full connect bağlantı TCP üzerinde üçlü el sıkışma olarak adlandırlan yöntemdir. Kontrol edilen porta SYN paketi gönderilir, port açıksa sunucu SYN/ACK paketini cevap olarak gönderir. Daha sonra nmap tarafından ACK paketi gönderilir ve bağlantı sağlanır.
nmap 192.168.1.1
Port tespiti yapılan yöntemi değiştirebiliriz. "-sT" parametresi ile son olarak gönderilen ACK paketini iptal edip tam bir TCP bağlantısı sağlamadan tarama yapabiliriz. Bu yöntem ile TCP bağlantısı yarım kaldığı için hedef sistemi