Hoşgeldin Misafir

#PTHM-Nmap Canlı Sunucu Keşfi(1)

CW-ommah

17 Ocak 2022
905 Mesaj
TIM Görevleri
1

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Allah’ın Rahmeti Ve Bereketi Üzerinize Olsun
Selamun aleyküm dostlarım. Bu makalemizde Nmap programının temel olarak giriş yapacağız Allahın izniyle 4 makalelik bir yazı olacak ve herşeyin en ince ayrıntısına kadar gireceğiz başlayalım o halde dostlarım.

Alt Ağlar(Subnetworks)
Ağ segmenti (network segment), ortak bir iletişim ortamını paylaşarak birbirine bağlanan bilgisayar grubudur. Örneğin bu iletişim ortamı bir Ethernet anahtarı (switch) veya bir Wi-Fi erişim noktası (access point) olabilir.
Bir IP ağında, bir alt ağ (subnetwork veya subnet) genellikle aynı yönlendiriciye (router) bağlı olan bir veya birden fazla ağ segmentine karşılık gelir. Ağ segmenti fiziksel bağlantıyı, alt ağ ise mantıksal bağlantıyı ifade eder.
Aşağıdaki ağ diyagramında dört adet ağ segmenti veya alt ağ bulunmaktadır. Genel olarak, sizin sisteminiz bu ağ segmentlerinden/alt ağlardan birine bağlı olacaktır.
Bir alt ağ (subnet), kendine ait bir IP adres aralığına sahiptir ve bir yönlendirici (router) aracılığıyla daha büyük bir ağa bağlanır. Ayrıca, ağ segmentleri arasında, aralarından geçen trafiğe güvenlik politikaları uygulayan bir güvenlik duvarı (firewall) da bulunabilir.

1780607336310.png
Yukarıdaki şekil iki farklı alt ağ (subnet) türünü göstermektedir:
  • /16 ile gösterilen alt ağlar: Bu, alt ağ maskesinin 255.255.0.0 olarak yazılabileceği anlamına gelir. Bu tür bir alt ağ yaklaşık 65.000 ana bilgisayarı (host) barındırabilir.
  • /24 ile gösterilen alt ağlar: Bu, alt ağ maskesinin 255.255.255.0 olarak ifade edilebileceğini gösterir. Bu tür bir alt ağ yaklaşık 250 ana bilgisayara sahip olabilir.
Aktif keşif (active reconnaissance) kapsamında, bir ana bilgisayar grubuna veya bir alt ağa ilişkin daha fazla bilgi edinmek isteriz. Eğer hedef sistemlerle aynı alt ağda bulunuyorsanız, tarayıcınızın (scanner) aktif cihazları keşfetmek için ARP (Address Resolution Protocol - Adres Çözümleme Protokolü) sorgularını kullanmasını beklersiniz.
Bir ARP sorgusunun amacı, bağlantı katmanında (link layer) iletişim kurulabilmesi için donanım adresini (MAC adresi) elde etmektir; ancak aynı zamanda hedef ana bilgisayarın çevrimiçi (online) olup olmadığını da gösterebilir.

Eğer A Ağı'nda (Network A) bulunuyorsanız, ARP'yi yalnızca o alt ağdaki cihazları keşfetmek için kullanabilirsiniz (10.1.100.0/24).
Diyelim ki hedef sistemlerin bulunduğu alt ağdan farklı bir alt ağa bağlısınız. Bu durumda:

  • Tarayıcınız tarafından oluşturulan tüm paketler, başka bir alt ağdaki sistemlere ulaşmak için varsayılan ağ geçidi (default gateway/router) üzerinden yönlendirilir.
  • Ancak ARP sorguları yönlendirilmez (routed edilmez) ve bu nedenle alt ağ yönlendiricisini geçemez.
  • Bunun nedeni, ARP'nin bağlantı katmanı (Layer 2) protokolü olmasıdır.
  • ARP paketleri yalnızca bulundukları alt ağ içerisinde geçerlidir ve başka alt ağlara iletilmez.
TCP/IP Katmanı Aracılığıyla Ana Bilgisayar Keşfini Anlamak
TCP/IP katmanlarını tekrar gözden geçirelim. Canlı (aktif) ana bilgisayarları keşfetmek için bu katmanlarda çalışan çeşitli protokollerden yararlanacağız. Aşağıdan yukarıya doğru şu protokolleri kullanabiliriz:

  • Bağlantı Katmanından (Link Layer)ARP
  • Ağ Katmanından (Network Layer)ICMP
  • Taşıma Katmanından (Transport Layer)TCP
  • Taşıma Katmanından (Transport Layer)UDP
1780607530997.png
Her tarayıcının (scanner) nasıl kullanılacağını ayrıntılı olarak ele almadan önce, bu dört protokolü kısaca gözden geçirelim.
ARP'nin (Address Resolution Protocol) tek bir amacı vardır: Ağ segmentindeki yayın (broadcast) adresine bir çerçeve (frame) göndererek, belirli bir IP adresine sahip bilgisayardan kendi MAC (donanım) adresini bildirerek yanıt vermesini istemek.
ICMP'nin (Internet Control Message Protocol) birçok türü vardır. ICMP ping işlemi:

  • Tip 8 (Echo Request / Yankı İsteği) ve
  • Tip 0 (Echo Reply / Yankı Yanıtı) mesajlarını kullanır.
Eğer aynı alt ağdaki bir sistemi pinglemek istiyorsanız, ICMP Echo isteğinden önce bir ARP sorgusu gerçekleştirilmelidir. Bunun nedeni, paketin gönderilebilmesi için hedef sistemin MAC adresinin bilinmesi gerekmesidir.
TCP ve UDP, taşıma katmanı (transport layer) protokolleri olmalarına rağmen, ağ taramalarında tarayıcılar hedefin yanıt verip vermediğini kontrol etmek amacıyla yaygın TCP veya UDP portlarına özel olarak hazırlanmış paketler gönderebilir.
Bu yöntem özellikle:

  • ICMP Echo (ping) paketlerinin engellendiği durumlarda
  • Hedef sistemlerin çevrimiçi olup olmadığını belirlemek için oldukça etkilidir.
Hedeflerin Listelenmesi
Genel olarak hedefleri bir liste, bir aralık (range) veya bir alt ağ (subnet) şeklinde belirtebilirsiniz. Hedef belirtme örnekleri şunlardır:

  • Liste (list):
    MACHINE_IP scanme.nmap.org example.com
    Bu komut 3 IP adresini/hedefi tarar.
  • Aralık (range):
    10.11.12.15-20
    Bu ifade 6 IP adresini tarar:
    10.11.12.15, 10.11.12.16, ... , 10.11.12.20
  • Alt ağ (subnet):
    MACHINE_IP/30
    Bu ifade 4 IP adresini tarar.
Ayrıca hedef listenizi içeren bir dosyayı da girdi olarak verebilirsiniz:
Kod:
nmap -iL list_of_hosts.txt

Eğer Nmap'in hangi hostları tarayacağını görmek istiyorsanız, aşağıdaki komutu kullanabilirsiniz:
Kod:
nmap -sL TARGETS

Bu seçenek, Nmap'in gerçekte tarama yapmadan tarayacağı hostların ayrıntılı bir listesini gösterir. Ancak Nmap, hedeflerin isimlerini elde etmek için tüm hedefler üzerinde ters DNS çözümlemesi (reverse DNS resolution) yapmaya çalışacaktır.
Bu isimler, bir sızma testi uzmanına (pentester) hedef sistemler hakkında çeşitli bilgiler sağlayabilir.
(Eğer Nmap'in DNS sunucusunu kullanmasını istemiyorsanız, komuta -n seçeneğini ekleyebilirsiniz.)

ARP Kullanarak Nmap İle Ana Bilgisayar Keşfi
Hangi sistemlerin çalışır durumda (online) olduğunu nasıl anlarsınız? Çevrimdışı bir sistemi veya kullanılmayan bir IP adresini port taramasına tabi tutarak zaman kaybetmemek önemlidir. Çevrimiçi sistemleri keşfetmenin çeşitli yolları vardır. Herhangi bir host keşif seçeneği belirtilmediğinde, Nmap canlı sistemleri bulmak için aşağıdaki yöntemleri kullanır:

  • Ayrıcalıklı (privileged) bir kullanıcı yerel ağdaki (Ethernet) hedefleri taramaya çalıştığında, Nmap ARP istekleri kullanır. Ayrıcalıklı kullanıcı; root kullanıcısı veya sudo yetkisine sahip olup sudo komutunu çalıştırabilen kullanıcıdır.
  • Ayrıcalıklı bir kullanıcı yerel ağ dışındaki hedefleri taramaya çalıştığında, Nmap ICMP Echo istekleri, 80 numaralı porta TCP ACK (Acknowledge), 443 numaralı porta TCP SYN (Synchronise) ve ICMP Timestamp (zaman damgası) istekleri kullanır.
  • Ayrıcalıksız (unprivileged) bir kullanıcı yerel ağ dışındaki hedefleri taramaya çalıştığında, Nmap 80 ve 443 numaralı portlara SYN paketleri göndererek TCP üç yönlü el sıkışma (3-way handshake) yöntemine başvurur.
Nmap varsayılan olarak canlı sistemleri bulmak için bir ping taraması gerçekleştirir ve ardından yalnızca aktif sistemleri taramaya devam eder. Eğer Nmap'i sadece çevrimiçi sistemleri keşfetmek için kullanmak ve port taraması yapmak istemiyorsanız, aşağıdaki komutu çalıştırabilirsiniz:
Kod:
nmap -sn TARGETS
Şimdi kullanılan farklı teknikleri daha iyi anlamak için biraz daha ayrıntıya girelim.

ARP taraması, yalnızca hedef sistemlerle aynı alt ağda (subnet) bulunuyorsanız mümkündür. Ethernet (802.3) ve Wi-Fi (802.11) ağlarında, herhangi bir sistemle iletişim kurabilmek için öncelikle onun MAC adresini bilmeniz gerekir.

MAC adresi, bağlantı katmanı (link layer) başlığında gereklidir; bu başlık, kaynak ve hedef MAC adresleri gibi çeşitli alanları içerir. MAC adresini öğrenmek için işletim sistemi bir ARP sorgusu gönderir. ARP sorgularına yanıt veren bir sistemin aktif (online) olduğu anlaşılır.

Ancak ARP sorguları yalnızca hedef sistem sizinle aynı alt ağda bulunuyorsa çalışır; yani aynı Ethernet veya Wi-Fi ağında olmanız gerekir. Yerel bir ağda gerçekleştirilen Nmap taramaları sırasında çok sayıda ARP sorgusu oluşturulduğunu görmeniz normaldir.
Eğer Nmap'in yalnızca ARP taraması yapmasını ve port taraması gerçekleştirmemesini istiyorsanız, aşağıdaki komutu kullanabilirsiniz:
Kod:
nmap -PR -sn TARGETS
Buradaki -PR seçeneği yalnızca ARP taraması yapmak istediğinizi belirtir.

Yalnızca kendi alt ağımızdaki sistemleri tarayabildiğimiz için, ağ üzerindeki canlı sistemleri herhangi bir port taraması yapmadan keşfetmek amacıyla CONNECTION_IP adresini kullanacağız. Bunun için aşağıdaki komutu çalıştırıyoruz:
Kod:
nmap -PR -sn 10.200.6.0/24

root@ip-10-201-24-228:~# nmap -PR -sn CONNECTION_IP/24
Starting Nmap 7.80 ( https://nmap.org ) at 2026-02-04 15:43 GMT
mass_dns: warning: Unable to open /etc/resolv.conf.
Try using --system-dns or specify valid servers with --dns-servers
mass_dns: warning: Unable to determine any DNS servers.
Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 10.201.24.228
Host is up.
Nmap done: 256 IP addresses (1 host up) scanned in 10.51 seconds
1780608040536.png
Eğer tcpdump veya Wireshark gibi araçlar kullanarak oluşturulan paketleri incelersek, aşağıdaki şekilde gösterilene benzer bir ağ trafiği gözlemleyebiliriz.
Bu örnekte, Wireshark her bir istek için şu bilgileri görüntüler:

  • Kaynak MAC adresi (Source MAC Address)
  • Hedef MAC adresi (Destination MAC Address)
  • Kullanılan protokol (Protocol)
  • ARP sorgusu (ARP Query)
Bu sayede, ağ üzerinde gönderilen ARP isteklerinin hangi cihazdan çıktığını, hangi adrese yönlendirildiğini ve hangi IP adresinin MAC adresinin sorgulandığını ayrıntılı olarak görebiliriz. Böylece ARP tabanlı host keşfi sırasında Nmap'in veya başka bir tarama aracının ağ üzerinde nasıl çalıştığını analiz etmek mümkün olur.
1780608098467.png

sorgulanan hedef IP adresi, Info (bilgi) sütununda görülebilir. Görüldüğü üzere ARP istekleri, 10.201.24.1’den başlayarak alt ağdaki her IP adresine sırayla gönderilir.
Sorgulanan IP adresine sahip bir sistem çevrimiçi olduğunda, kendi MAC adresini içeren bir ARP yanıtı (ARP reply) gönderir. Bu yanıtın alınması, ilgili hostun ağda aktif ve erişilebilir olduğunu doğrular.
ARP taraması özellikle post-exploitation (sömürü sonrası) ve iç ağ keşfi (internal network enumeration) sırasında oldukça faydalıdır. Bir saldırgan ağa bir sistem üzerinden erişim sağladıktan sonra, aynı yerel ağ segmentindeki diğer canlı sistemleri hızlı ve güvenilir bir şekilde tespit etmek için ARP taramaları kullanılabilir.
ARP’nin Katman 2’de (Layer 2) çalışması ve çoğu zaman güvenlik duvarları tarafından filtrelenmemesi nedeniyle, kırmızı takım (red team) operasyonlarında ve iç ağ sızma testlerinde oldukça etkili bir araçtır.

Nmap İle ICMP Kullanarak Ana Bilgisayar Keşfi
Bir hedef ağ üzerindeki her IP adresine ping atarak ve ICMP Type 8 (Echo) isteklerimize ICMP Type 0 (Echo Reply) ile kimlerin yanıt verdiğini görerek canlı sistemleri tespit edebiliriz. Basit, değil mi? Ancak bu en doğrudan yöntem olsa da her zaman güvenilir değildir. Birçok güvenlik duvarı ICMP echo trafiğini engeller; Windows’un yeni sürümleri de varsayılan olarak ICMP echo isteklerini engelleyecek şekilde yapılandırılmıştır. Unutmayın ki hedefiniz aynı alt ağdaysa, ICMP isteğinden önce bir ARP sorgusu gerçekleşir.
Canlı hostları ICMP echo istekleri kullanarak tespit etmek için -PE seçeneğini ekleyin. (Bunun ardından bir port taraması yapmak istemiyorsanız -sn seçeneğini de eklemeyi unutmayın.)
Aşağıdaki şekilde gösterildiği gibi, bir ICMP echo taraması bir ICMP echo isteği gönderir ve hedef sistemin çevrimiçi olması durumunda ICMP echo yanıtı vermesini bekler.

1780608692207.png
Pratik
hedefin alt ağını nmap -PE -sn 10.200.6.0/24 komutuyla tarayacağız. Bu tarama, alt ağdaki her IP adresine ICMP echo paketleri gönderir. Yine, canlı sistemlerin yanıt vermesini bekleriz; ancak birçok güvenlik duvarının ICMP trafiğini engellediğini unutmamak gerekir. Aşağıdaki çıktı, sudo nmap -PE -sn 10.200.6.0/24 komutuyla Class C alt ağının taranmasının sonucunu göstermektedir.
Kod:
root@ip-10-201-66-6:~# sudo nmap -PE -sn 10.200.6.0/24
sudo: unable to resolve host ip-10-201-66-6: Name or service not known
Starting Nmap 7.80 ( https://nmap.org ) at 2026-02-05 11:51 GMT
mass_dns: warning: Unable to open /etc/resolv.conf. Try using --system-dns or specify valid servers with --dns-servers
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 10.200.6.1
Host is up (0.069s latency).
Nmap scan report for 10.200.6.50
Host is up (0.070s latency).
Nmap scan report for 10.200.6.250
Host is up (0.069s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 3.38 seconds
Wireshark gibi bir araçla ağ paketlerine bakarsanız, aşağıdaki görsele benzer bir durum görebilirsiniz. Görülebileceği gibi, kaynak IP adresi hedef alt ağdan farklı bir alt ağdadır ve hedef alt ağdaki tüm IP adreslerine ICMP echo istekleri göndererek hangilerinin yanıt vereceğini kontrol etmektedir.

1780608775291.png
ICMP Zaman Damgası
ICMP echo istekleri genellikle engellendiği için, bir sistemin çevrimiçi olup olmadığını anlamak amacıyla ICMP Zaman Damgası (Timestamp) veya ICMP Adres Maskesi isteklerini de kullanmayı düşünebilirsiniz. Nmap, bir zaman damgası isteği (ICMP Type 13) gönderir ve bunun karşılığında bir Zaman Damgası yanıtı (ICMP Type 14) alıp almadığını kontrol eder. Nmap’e -PP seçeneğini eklemek, onun ICMP zaman damgası isteklerini kullanmasını sağlar. Aşağıdaki şekilde gösterildiği gibi, canlı (aktif) sistemlerin yanıt vermesi beklenir.

1780608817433.png
şağıdaki örnekte, alt ağında çevrimiçi (aktif) bilgisayarları keşfetmek için
Kod:
nmap -PP -sn 10.200.6.0/24
komutunu çalıştırıyoruz.
Kod:
root@ip-10-201-66-6:~# nmap -PP -sn 10.200.6.0/24
Starting Nmap 7.80 ( https://nmap.org ) at 2026-02-05 12:10 GMT
mass_dns: warning: Unable to open /etc/resolv.conf. Try using --system-dns or specify valid servers with --dns-servers
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 10.200.6.50
Host is up (0.069s latency).
Nmap scan report for 10.200.6.250
Host is up (0.069s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 8.44 seconds

Önceki ICMP taramasına benzer şekilde, bu tarama hedef alt ağdaki her geçerli IP adresine çok sayıda ICMP zaman damgası isteği gönderir. Aşağıdaki Wireshark ekran görüntüsünde, bir kaynak IP adresinin çevrimiçi hostları keşfetmek için olası her IP adresine ICMP paketleri gönderdiğini görebilirsiniz.

1780608881003.png
ICMP Tip 17
Benzer şekilde Nmap, adres maskesi sorgularını (ICMP Tip 17) kullanır ve bunun karşılığında bir adres maskesi yanıtı (ICMP Tip 18) alıp almadığını kontrol eder. Bu tarama -PM seçeneği ile etkinleştirilebilir. Aşağıdaki şekilde gösterildiği gibi, aktif (canlı) hostların ICMP adres maskesi isteklerine yanıt vermesi beklenir.

1780608942420.png

ICMP adres maskesi sorgularını (address mask queries) kullanarak aktif ana bilgisayarları (live hosts) keşfetme girişimiyle nmap -PM -sn 10.200.6.0/24 komutunu çalıştırıyoruz. Daha önceki taramalar en az 2 ana bilgisayarın aktif olduğunu göstermesine rağmen, bu tarama hiçbir sonuç döndürmedi. Bunun nedeni, hedef sistemin veya rota üzerindeki bir güvenlik duvarının bu tür ICMP paketlerini engellemesidir. Bu nedenle, aynı sonucu elde etmek için birden fazla yaklaşım öğrenmek büyük önem taşımaktadır. Eğer bir paket türü engellenirse, hedef ağı ve servisleri keşfetmek için her zaman bir başka paket türünü seçebiliriz.
NOT:Bu sonuçlar sizlerde farklı sonuçlar döndürebilir
Kod:
root@ip-10-201-66-6:~# nmap -PM -sn 10.200.6.0/24
Starting Nmap 7.80 ( https://nmap.org ) at 2026-02-05 12:15 GMT
mass_dns: warning: Unable to open /etc/resolv.conf. Try using --system-dns or specify valid servers with --dns-servers
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap done: 256 IP addresses (0 hosts up) scanned in 52.14 seconds

Herhangi bir yanıt alamamış ve hangi ana bilgisayarların (host) çevrimiçi olduğunu belirleyememiş olsak da, bu taramanın her geçerli IP adresine ICMP adres maskesi istekleri (address-mask requests) gönderdiğini ve bir yanıt beklediğini belirtmek önemlidir. Aşağıdaki ekran görüntüsünde de gösterildiği gibi, her bir ICMP isteği ikişer kez gönderilmiştir.

1780609068411.png

TCP ve Udp kullanarak Nmap İle Ana Bilgisayar Keşfi
TCP SYN Ping
TCP port 80'e (varsayılan olarak 80) SYN (Synchronise) bayrağı set edilmiş bir paket gönderip bir yanıt bekleyebiliriz. Açık bir portun SYN/ACK (Acknowledge) ile yanıt vermesi gerekir; kapalı bir port ise RST (Reset) ile sonuçlanacaktır. Bu durumda, yalnızca ana bilgisayarın (host) aktif olup olmadığını anlamak için bir yanıt alıp almadığımızı kontrol ederiz. Portun spesifik durumu burada önem arz etmemektedir. Aşağıdaki şekil, bir TCP 3'lü el sıkışmasının (3-way handshake) genellikle nasıl çalıştığını hatırlatmaktadır.

1780609130277.png
Eğer Nmap'in TCP SYN ping kullanmasını istiyorsanız, bunu -PS seçeneğinin ardından port numarasını, aralığını, listesini veya bunların bir kombinasyonunu ekleyerek yapabilirsiniz. Örneğin, -PS21 port 21'i hedef alırken, -PS21-25 port 21, 22, 23, 24 ve 25'i hedef alacaktır. Son olarak, -PS80,443,8080 ise 80, 443 ve 8080 olmak üzere bu üç portu hedefleyecektir.
Aşağıdaki şekilde de gösterildiği gibi, yetkili kullanıcılar (root ve sudoers) TCP SYN paketleri gönderebilir ve port açık olsa bile TCP 3'lü el sıkışmasını (3-way handshake) tamamlamak zorunda kalmazlar. Yetkisiz (standart) kullanıcıların ise portun açık olması durumunda 3'lü el sıkışmasını tamamlamaktan başka seçeneği yoktur.

1780609176501.png
alt ağını taramak için nmap -PS -sn 10.200.6.0/24 komutunu çalıştıracağız. Aşağıdaki çıktıda da gösterildiği gibi, iki adet aktif ana bilgisayar (host) keşfettik
Kod:
root@ip-10-201-66-6:~# nmap -PS -sn 10.200.6.0/24
Starting Nmap 7.80 ( https://nmap.org ) at 2026-02-05 12:22 GMT
mass_dns: warning: Unable to open /etc/resolv.conf. Try using --system-dns or specify valid servers with --dns-servers
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 10.200.6.50
Host is up (0.070s latency).
Nmap scan report for 10.200.6.250
Host is up (0.068s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 33.88 seconds
Aşağıdaki şekilde yer alan Wireshark üzerindeki ağ trafiğine bakarak arka planda neler yaşandığına daha yakından göz atalım. Teknik olarak konuşmak gerekirse, TCP ping taramasında kullanılacak herhangi bir TCP portu belirtmediğimiz için Nmap varsayılan TCP portu olan 80'i kullandı. Port 80'i dinleyen herhangi bir servisin yanıt vermesi beklenir ve bu da dolaylı olarak o ana bilgisayarın (host) çevrimiçi olduğunu gösterir

1780609232766.png
TCP ACK Ping
Tahmin edebileceğiniz gibi bu yöntem, ACK bayrağı set edilmiş bir paket gönderir. Bunu gerçekleştirebilmek için Nmap'i yetkili (privileged) bir kullanıcı olarak çalıştırmalısınız. Eğer yetkisiz (unprivileged) bir kullanıcı olarak denerseniz, Nmap bunun yerine 3'lü el sıkışma (3-way handshake) başlatmaya çalışacaktır.

Varsayılan olarak port 80 kullanılır. Komut dizilimi TCP SYN ping ile benzerdir; -PA seçeneğinin ardından bir port numarası, port numarası aralığı, listesi veya bunların bir kombinasyonu gelmelidir. Örneğin: -PA21, -PA21-25 ve -PA80,443,8080. Herhangi bir port belirtilmezse varsayılan olarak port 80 kullanılacaktır.

Aşağıdaki şekil, ACK bayrağı set edilmiş herhangi bir TCP paketine karşılık, RST bayrağı set edilmiş bir TCP paketinin alınması gerektiğini göstermektedir. Hedef sistem, ACK bayraklı bu TCP paketi halihazırda devam eden herhangi bir bağlantının parçası olmadığı için RST bayrağıyla yanıt verir. Alınan bu beklenen yanıt, hedef ana bilgisayarın (host) aktif olup olmadığını tespit etmek için kullanılır.

1780609318638.png
Bu örnekte, hedefin alt ağındaki çevrimiçi ana bilgisayarları keşfetmek için
Kod:
sudo nmap -PA -sn 10.200.6.0/24
komutunu çalıştırıyoruz. TCP ACK ping taramasının iki ana bilgisayarı (host) aktif olarak tespit ettiğini görebiliyoruz.
Kod:
root@ip-10-201-66-6:~# sudo nmap -PA -sn 10.200.6.0/24
sudo: unable to resolve host ip-10-201-66-6: Name or service not known
Starting Nmap 7.80 ( https://nmap.org ) at 2026-02-05 12:33 GMT
mass_dns: warning: Unable to open /etc/resolv.conf. Try using --system-dns or specify valid servers with --dns-servers
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 10.200.6.50
Host is up (0.070s latency).
Nmap scan report for 10.200.6.250
Host is up (0.069s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 36.64 seconds
Aşağıdaki şekilde gösterilen ağ trafiğine göz atacak olursak, hedef sistemlerdeki port 80'e gönderilmiş, ACK bayrağı set edilmiş birçok paket keşfederiz. Nmap her bir paketi ikişer kez gönderir. Yanıt vermeyen sistemler ise ya çevrimdışıdır (offline) ya da erişilemez durumdadır.

1780609396381.png
UDP Ping
Son olarak, ana bilgisayarın (host) çevrimiçi olup olmadığını keşfetmek için UDP kullanabiliriz. TCP SYN ping'in aksine, açık bir porta UDP paketi göndermenin bir yanıt doğurması beklenmez. Ancak, kapalı bir UDP portuna UDP paketi gönderirsek, bir "ICMP port-unreachable" (port erişilemez) paketi almayı bekleriz; bu da hedef sistemin aktif ve erişilebilir olduğunu gösterir.

Aşağıdaki şekilde, açık bir UDP portuna gönderilen ve herhangi bir yanıtı tetiklemeyen bir UDP paketi görüyoruz. Buna karşılık, kapalı herhangi bir UDP portuna UDP paketi göndermek dolaylı yoldan bir yanıtı tetikleyebilir ve bu da hedefin çevrimiçi olduğunu gösterir.

1780609453735.png

1780609462320.png
Portları belirtmek için kullanılan komut dizilimi TCP SYN ping ve TCP ACK ping ile benzerdir; Nmap, UDP ping için -PU seçeneğini kullanır. Aşağıdaki örnekte, bir UDP taraması çalıştırıyoruz ve iki adet aktif ana bilgisayar (host) keşfediyoruz.
Kod:
root@ip-10-201-66-6:~# sudo nmap -PU -sn 10.200.6.0/24
sudo: unable to resolve host ip-10-201-66-6: Name or service not known
Starting Nmap 7.80 ( https://nmap.org ) at 2026-02-05 12:38 GMT
mass_dns: warning: Unable to open /etc/resolv.conf. Try using --system-dns or specify valid servers with --dns-servers
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 10.200.6.50
Host is up (0.070s latency).
Nmap scan report for 10.200.6.250
Host is up (0.069s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 35.97 seconds
Gelin üretilen UDP paketlerini inceleyelim. Aşağıdaki Wireshark ekran görüntüsünde, Nmap'in büyük olasılıkla kapalı olan UDP portlarına UDP paketleri gönderdiğini fark ediyoruz. Alttaki resim, Nmap'in bir "ICMP destination unreachable (port unreachable)" (hedef erişilemez - port erişilemez) hatasını tetiklemek için sıra dışı (yaygın kullanılmayan) bir UDP portu kullandığını göstermektedir.

1780609524958.png
Masscan
Ek bir not olarak, Masscan de mevcut sistemleri keşfetmek için benzer bir yaklaşım kullanır. Ancak Masscan, ağ taramasını hızlı bir şekilde tamamlamak için paket üretme hızında oldukça agresiftir. Komut dizilimi oldukça benzerdir; -p seçeneğinin ardından bir port numarası, listesi veya aralığı gelebilir. Aşağıdaki örnekleri inceleyebilirsiniz:

  • masscan 10.200.6.0/24 -p443
  • masscan 10.200.6.0/24 -p80,443
  • masscan 10.200.6.0/24 -p22-25
Masscan’i kurmak için
Kod:
apt install masscan
komutunu kullanabilirsiniz

Ters DNS Sorugulamasının Kullanımı
Ters DNS (Reverse DNS - rDNS)
Ters DNS (rDNS), bir IP adresini bir alan adına (hostname) çözümleme işlemidir (normal DNS'in tam tersi). "example.com'un IP adresi nedir?" diye sormak yerine, "10.200.6.15 IP adresine hangi alan adı atanmış?" sorusunu sorarsınız.

Nmap'te -R seçeneğini kullanmak, keşfedilen tüm ana bilgisayarlar için ters DNS sorgusu yapılmasını zorunlu kılarken, -n seçeneği bu sorguları devre dışı bırakır. Bu işlem, keşif (recon) aşamasında sistem rollerini tanımlamaya (örneğin; mail.company.local, dc01.domain.com) ve ağ yapısını anlamaya yardımcı olur. Ancak rDNS kayıtları her zaman yapılandırılmamış veya doğru olmayabilir; bu nedenle sonuçlar eksik veya yanıltıcı olabilir. Ayrıca, ek DNS sorguları nedeniyle taramaları biraz yavaşlatabilir.

Varsayılan olarak Nmap, yalnızca çevrimiçi (online) olan ana bilgisayarların rDNS kayıtlarına bakacaktır; ancak -R seçeneğini kullanarak çevrimdışı (offline) olan ana bilgisayarlar için bile DNS sunucusuna sorgu gönderebilirsiniz. Eğer belirli bir DNS sunucusu kullanmak isterseniz, komuta --dns-servers DNS_SUNUCUSU seçeneğini ekleyebilirsiniz.

Özet

Tarama TürüÖrnek Komut
ARP Taramasısudo nmap -PR -sn 10.200.6.0/24
ICMP Echo Taramasısudo nmap -PE -sn 10.200.6.0/24
ICMP Zaman Damgası (Timestamp) Taramasısudo nmap -PP -sn 10.200.6.0/24
ICMP Adres Maskesi (Address Mask) Taramasısudo nmap -PM -sn 10.200.6.0/24
TCP SYN Ping Taramasısudo nmap -PS22,80,443 -sn 10.200.6.0/30
TCP ACK Ping Taramasısudo nmap -PA22,80,443 -sn 10.200.6.0/30
UDP Ping Taramasısudo nmap -PU53,161,162 -sn 10.200.6.0/30
Port taraması yapmadan yalnızca ana bilgisayar keşfiyle (host discovery) ilgileniyorsanız, -sn seçeneğini eklemeyi unutmayın. -sn seçeneğinin belirtilmemesi, Nmap'in varsayılan olarak aktif olan ana bilgisayarlardaki portları taramasına neden olacaktı
SeçenekAmaç
-nDNS sorgulaması yapmaz.
-RTüm ana makineler (hostlar) için ters DNS sorgulaması yapar.
-snYalnızca ana makine keşfi (host discovery) yapar; port taraması gerçekleştirmez.
1780610252774.pngOkuduğunuz için teşekkür ederim




CW-Ommah
Bug Researchers Tim Sundu...

1780610288183.png