Nmap Komutları: Kullanım Örnekleriyle Kopya Kâğıdı
Nmap komutları tek sayfada: hedef yazımı, host keşfi, port seçimi, sürüm tespiti, hız ve çıktı kaydı. Yetkili ağda hazır kullanım örnekleriyle öğren.
Nmap komutları tek bir kalıba uyar: nmap [seçenekler] [hedef]. Seçenekler neyin, nasıl ve hangi hızla taranacağını söyler. Bu kopya kâğıdı en çok kullanılan seçenekleri amaca göre gruplar: hedef yazımı, canlı cihaz bulma, port seçimi, tarama türü, sürüm tespiti, hız ve çıktı. Örnekleri yalnız kendi ağında, izinli laboratuvarda ya da scanme.nmap.org üzerinde dene.
Nmap kullanımı: komut nasıl yazılır, ne zaman sudo gerekir?
Nmap'in ne olduğunu ve nasıl kurulduğunu Nmap nedir yazısı anlatıyor. Bu sayfa doğrudan komutlara geçer.
En kısa komut yalnız hedeften oluşur:
nmap scanme.nmap.org
Seçenek vermezsen Nmap önce hedefin ayakta olup olmadığını yoklar, sonra en yaygın 1000 TCP portunu tarar. Seçeneklerin sırası çoğu durumda önemli değildir. Hedefi sona yazmak okumayı kolaylaştıran bir alışkanlıktır.
Komutu sudo ile çalıştırıp çalıştırmaman sonucu değiştirir:
- Yetkiliyken Nmap varsayılan olarak SYN taraması yapar. UDP taraması ve işletim sistemi tespiti de yalnız bu durumda çalışır.
- Yetkisizken tam TCP bağlantısı kuran connect taramasına geçer. Daha yavaştır ve hedefin günlüklerine düşme olasılığı daha yüksektir.
Kimi tarayabileceğin sorusunun cevabı kısa: sahibi olduğun ağ, kendi kurduğun laboratuvar ve yazılı izin aldığın sistemler. Nmap projesinin scanme sunucusu herkese açık bir test hedefidir. Kuralı nettir: günde birkaç tarama yeterli, günde yüz tarama ya da parola deneme aracı yok. Türk Ceza Kanunu'nun 243. maddesi bilişim sistemine hukuka aykırı girmeyi, 244. maddesi sistemin işleyişini engellemeyi ya da bozmayı suç sayar. İzinsiz tarama somut olaya göre bu maddeler açısından sorun doğurabilir. Sınırın nerede başladığını hacking yasal mı yazısında okuyabilirsin.
Hedef nasıl belirtilir?
Nmap tek adresten tüm alt ağa kadar farklı hedef yazımlarını kabul eder. Birden fazlasını aynı komutta birleştirebilirsin.
| Yazım | Örnek | Anlamı |
|---|---|---|
| Tek adres | nmap 192.168.1.10 | Tek cihaz |
| Alan adı | nmap hedef.example | DNS'te çözülen ilk adres |
| Alt ağ (CIDR) | nmap 192.168.1.0/24 | 192.168.1.0 ile 192.168.1.255 arası |
| Aralık | nmap 192.168.1.1-50 | Son sekizlide 1 ile 50 arası |
| Sekizli aralık | nmap 10.0.0-3.1-254 | .0 ve .255 ile biten adresleri atlar |
| Dosyadan | nmap -iL hedefler.txt | Dosyadaki her hedef |
| Hariç tutma | nmap 192.168.1.0/24 --exclude 192.168.1.1 | Örneğin modemi tarama dışında bırakır |
| Yalnız listeleme | nmap -sL 192.168.1.0/24 | Hedeflere paket göndermeden listeyi gösterir |
İzin belgesinde yazan aralığı önce -sL ile listele. Kapsam dışı bir adresin araya girmediğini taramadan önce görürsün.
Ağdaki canlı cihazlar hangi komutla bulunur?
Host keşfi "kim ayakta?" sorusunu yanıtlar. Port taramasından önce çalışır ve taranacak listeyi daraltır.
| Komut | Ne yapar |
|---|---|
sudo nmap -sn 192.168.1.0/24 | Yalnız canlı cihazları listeler, port taramaz |
nmap -Pn 192.168.1.10 | Keşfi atlar, hedefi ayakta sayıp doğrudan port tarar |
nmap -sL 192.168.1.0/24 | Keşif bile yapmaz, yalnız hedef listesini çıkarır |
Yetkili çalıştırdığında Nmap keşif için birkaç farklı yoklama gönderir: ICMP yankı isteği, 443'e TCP SYN, 80'e TCP ACK ve ICMP zaman damgası isteği. Yetkisizken yalnız 80 ve 443'e bağlantı dener. Yetkiliyken aynı yerel Ethernet ağındaki hedeflere ARP sorar. Bu yüzden ev ağında sudo ile yapılan keşif daha güvenilirdir.
-Pn, ping'e yanıt vermeyen bir sunucuyu taramak için işe yarar. Bedeli süredir: Nmap her adresi canlı varsayar ve boş adreslerde de bekler.
Bulduğun listeyi modemin bağlı cihazlar sayfasıyla karşılaştır. Tanımadığın bir cihaz çıkarsa önce ne olduğunu araştır.
Hangi portlar taranır, nasıl seçilir?
Varsayılan tarama en yaygın 1000 portu kapsar. Envanter çıkarırken bu yetmeyebilir, hızlı bir kontrolde fazla gelebilir.
| Komut | Taranan portlar |
|---|---|
nmap 192.168.1.10 | En yaygın 1000 port |
nmap -F 192.168.1.10 | En yaygın 100 port |
nmap --top-ports 20 192.168.1.10 | En yaygın 20 port |
nmap -p 22,80,443 192.168.1.10 | Yalnız listelenenler |
nmap -p 1-1024 192.168.1.10 | Belirtilen aralık |
nmap -p- 192.168.1.10 | 1 ile 65535 arasının tamamı |
Bir hizmet yüksek numaralı bir porta taşınmışsa varsayılan tarama onu kaçırabilir. Kendi sunucunun gerçek envanteri için -p- kullan. Port numaralarının ne anlama geldiğini port nedir yazısında, yaygın portların kısa listesini ağ temelleri kopya kâğıdında bulabilirsin.
SYN, connect ve UDP taraması ne zaman kullanılır?
Tarama türü, Nmap'in porta nasıl dokunacağını belirler.
| Komut | Tür | Nasıl çalışır | Yetki |
|---|---|---|---|
-sS | SYN (yarı açık) | SYN gönderir, SYN/ACK gelirse açık, RST gelirse kapalı sayar. Bağlantıyı tamamlamaz. | Gerekir. Yetkiliyken varsayılan budur. |
-sT | Connect | İşletim sistemine tam TCP bağlantısı açtırır | Gerekmez. Yetkisizken varsayılan budur. |
-sU | UDP | UDP portlarına paket gönderir. Yanıt gelmezse open|filtered der. | Gerekir |
UDP taraması yavaştır, çünkü birçok sistem "port erişilemez" yanıtlarını sınırlar. Önce sudo nmap -sU --top-ports 20 192.168.1.10 gibi küçük bir listeyle başla. TCP ve UDP'yi aynı komutta -sS -sU ile birleştirebilirsin.
Servis sürümü ve işletim sistemi nasıl tespit edilir?
Açık port, orada bir şeyin dinlediğini söyler. Sürüm tespiti ise o şeyin ne olduğunu söyler. Savunmada asıl değerli bilgi budur, çünkü eski yazılımı bu adımda bulursun.
| Komut | Ne yapar | Not |
|---|---|---|
nmap -sV 192.168.1.10 | Açık portlardaki hizmeti ve sürümü tahmin eder | Varsayılan yoğunluk 7 |
nmap -sV --version-light 192.168.1.10 | Yoğunluk 2 ile daha hızlı tarar | Daha az isabetli |
sudo nmap -O 192.168.1.10 | İşletim sistemini tahmin eder | En az bir açık ve bir kapalı port bulunca daha isabetli |
sudo nmap -A 192.168.1.10 | -O, -sV, -sC ve traceroute'u birlikte açar | Hız ve ayrıntı ayarı içermez |
nmap -sC 192.168.1.10 | Varsayılan NSE betiklerini çalıştırır | Bazı betikler müdahaleci sayılır |
Nmap'in kendi belgeleri -A ve -sC için aynı uyarıyı yapar: izin olmadan hedef ağa karşı kullanma. Bu seçenekler yalnız port listelemekle kalmaz, hizmetlerle konuşur.
Sürüm bilgisi bir tahmindir. Bazı hizmetler sürümünü gizler ya da yanlış bildirir. Şüpheli bir bulguyu cihazın kendi yönetim ekranından doğrula.
Tarama hızı nasıl ayarlanır?
Hız şablonları -T ile seçilir. Varsayılan -T3'tür, yani yazmasan da bu hızda çalışır.
| Komut | Adı | Ne zaman |
|---|---|---|
-T2 | Polite | Bant genişliğini ve hedefi korur. Varsayılandan yaklaşık on kat yavaş olabilir. |
-T3 | Normal | Varsayılan |
-T4 | Aggressive | Hızlı ve güvenilir ağlarda. Nmap'in yazarı modern ağlar için bunu önerir. |
-T5 | Insane | Hız için isabetten ödün verir |
-T0 ve -T1 çok yavaştır ve günlük işte kullanılmaz. Daha ince ayar için --max-rate 100 saniyedeki paket sayısına üst sınır koyar. --scan-delay 1s ise aynı hedefe giden yoklamalar arasına en az bir saniye koyar.
Nmap belgeleri varsayılan hızda cihaz çökmesinin ve bant sorununun nadir olduğunu söyler. Aynı belgeye göre bu riski azaltmanın en etkili yolu hızla oynamak değil, sürüm tespitini kapalı tutmaktır. Eski bir yazıcı ya da basit bir akıllı ev cihazı tarayacaksan ikisini birlikte uygula: -sV kullanma ve hızı sınırla.
Çıktı nasıl kaydedilir ve okunur?
Kaydedilmeyen tarama bir ay sonra karşılaştırılamaz.
| Komut | Çıktı |
|---|---|
-oN sonuc.txt | Ekrandakine benzer, okunur metin |
-oX sonuc.xml | XML. Programla işlemek için kararlı biçim |
-oG sonuc.gnmap | Satır başına bir cihaz. Belgelerde eskimiş sayılır. |
-oA envanter | Üçünü birden yazar: envanter.nmap, envanter.xml, envanter.gnmap |
-v | Tarama sürerken daha fazla bilgi gösterir |
--reason | Her portun neden o durumda sayıldığını yazar |
--open | Yalnız açık ya da açık olabilecek portları gösterir |
Nmap altı port durumu tanır: open, closed, filtered, unfiltered, open|filtered ve closed|filtered. Son üçü yalnız belirli tarama türlerinde çıkar. open, closed, filtered ve open|filtered durumlarının anlamını Nmap nedir yazısındaki tabloda bulabilirsin. Bir portun neden filtered göründüğünü merak ediyorsan --reason çoğu zaman cevabı verir.
İki taramayı karşılaştırmak için Nmap projesinin Ndiff aracını kullan: ndiff eylul.xml ekim.xml. Yeni açılan port ya da ağa katılan cihaz tek bakışta görünür.
Yetkili ağ için hazır Nmap komutları nelerdir?
Aşağıdaki tarifler yukarıdaki seçenekleri birleştirir. Adresleri kendi ağına göre değiştir.
| Amaç | Komut |
|---|---|
| Ev ağında hangi cihazlar açık? | sudo nmap -sn 192.168.1.0/24 |
| Bir cihazın yaygın portları ve hizmet sürümleri | sudo nmap -sV 192.168.1.10 |
| Tüm TCP portları, yalnız açıklar, nedenleriyle | sudo nmap -p- --open --reason 192.168.1.10 |
| En yaygın 20 UDP portu | sudo nmap -sU --top-ports 20 192.168.1.10 |
| Hassas bir cihaz için yavaş ve sınırlı tarama | sudo nmap -T2 --max-rate 50 -p 80,443 192.168.1.30 |
| Aylık envanter, üç biçimde kayıt | sudo nmap -sV -oA ekim 192.168.1.0/24 |
| Geçen ayla karşılaştırma | ndiff eylul.xml ekim.xml |
Bu tarifleri denemek için en güvenli yer kendi laboratuvarındır. Sanal makinelerle bir tane kurmak için ev laboratuvarı rehberine bak. Tarayıcıdan çalışan hazır ortamlar için laboratuvar sayfasına göz at.
Kaynaklar
Sık sorulan sorular
Nmap ile tüm portlar nasıl taranır?
Tüm TCP portları için nmap -p- hedef komutunu kullan. Bu seçenek 1 ile 65535 arasındaki her portu tarar. Varsayılan tarama yalnız en yaygın 1000 portu kapsadığı için yüksek numaraya taşınmış bir hizmeti kaçırabilir. UDP portları ayrı taranır ve çok daha yavaştır. Tam taramayı yalnız sahibi olduğun ya da izin aldığın cihazda yap.
nmap -sS ile -sT arasındaki fark nedir?
SYN taramasında (-sS) Nmap bir SYN paketi gönderir ve el sıkışmayı tamamlamadan yanıtı okur. Ham paket gerektirdiği için yönetici yetkisi ister. -sT ise işletim sisteminden tam bir TCP bağlantısı açmasını ister. Yetki gerektirmez ama daha yavaştır ve hedefin günlüklerine düşme olasılığı daha yüksektir.
Nmap komutları neden sudo ister?
SYN taraması, UDP taraması ve işletim sistemi tespiti ham paket gönderir. Linux ve macOS ham paket göndermeye yalnız yöneticiyle izin verir. sudo olmadan çalıştırırsan Nmap SYN yerine tam bağlantı taramasına geçer, -O ve -sU gibi seçenekler ise hata verip durur. Port listesi yine gelir ama tarama daha yavaş ilerler.
Nmap çıktısı dosyaya nasıl kaydedilir?
Okunur metin için -oN sonuc.txt, programla işlemek için -oX sonuc.xml kullan. -oA envanter seçeneği aynı taramayı normal, XML ve grepable olmak üzere üç dosyaya birden yazar. Grepable biçim eskimiş sayılır, XML daha güvenilirdir. İki XML dosyasını Ndiff aracıyla karşılaştırıp yeni açılan portları görebilirsin.
Nmap UDP taraması neden bu kadar yavaş?
Kapalı bir UDP portu genellikle ICMP port erişilemez mesajıyla yanıt verir. Birçok sistem bu mesajların gönderim hızını sınırlar. Nmap belgelerine göre saniyede bir mesaj sınırı olan bir Linux hedefte 65536 portluk tarama 18 saatten uzun sürer. Bu yüzden önce --top-ports 20 gibi küçük bir listeyle başla.
- Nmap
- nmap komutları
- port tarama
- ağ keşfi
- kopya kâğıdı