Ağ güvenliğini yönetirken yalnızca tarama yapmak yeterli değildir.
Asıl değer, tarama sonucunu okunabilir, karşılaştırılabilir ve raporlanabilir hale getirmektir.
Özellikle çok sayıda IP, port ve servis içeren ortamlarda Nmap çıktıları ham haliyle zor okunabilir.
Bu noktada açık kaynaklı küçük ama faydalı bir proje öne çıkar:
Nmap-Did-What — Nmap Dashboard Mini Project
✅ Nmap-Did-What Nedir?
Nmap-Did-What, Nmap XML çıktısını analiz ederek SQLite veritabanına aktaran bir Python script’i ve bu veriyi Grafana üzerinde görselleştiren Docker tabanlı bir mini dashboard projesidir.
Kısa tanım:
Nmap XML
→ Python parser
→ SQLite database
→ Grafana datasource
→ Dashboard
Bu yapı sayesinde Nmap tarama sonuçları tablo, grafik ve dashboard üzerinden daha anlaşılır hale getirilebilir.
1️⃣ Proje Ne Sağlar?
Nmap-Did-What, klasik Nmap çıktısını daha okunabilir hale getirir.
Sağladığı başlıca faydalar:
IP bazlı görünürlük
Port bazlı analiz
Servis bazlı özet
Host durumlarının görsel takibi
Açık portların dashboard üzerinde incelenmesi
Tarama sonuçlarının daha kolay raporlanması
Bu proje özellikle küçük lab ortamları, pentest notları, ağ keşfi raporları ve SOC ön analiz çalışmaları için faydalıdır.
2️⃣ Teknik Mimari
Proje üç ana bileşenden oluşur:
Python Script
Python script, Nmap XML çıktısını işler ve verileri SQLite veritabanına yazar.
nmap-to-sqlite.py
Görevi:
Nmap XML dosyasını oku.
Host, port ve servis bilgilerini ayrıştır.
SQLite veritabanına yaz.
SQLite
SQLite, Nmap tarama sonuçlarının tutulduğu hafif veritabanıdır.
Avantajları:
Kurulumu kolaydır.
Tek dosya veritabanıdır.
Lab ve küçük ölçekli kullanım için pratiktir.
Grafana datasource olarak kullanılabilir.
Dikkat edilmesi gereken nokta:
SQLite küçük ve orta ölçekli kullanım için uygundur.
Çok büyük tarama verileri, çok kullanıcılı erişim veya uzun dönemli tarihsel analiz için PostgreSQL gibi daha güçlü veritabanları değerlendirilebilir.
Grafana
Grafana, SQLite veritabanındaki Nmap sonuçlarını dashboard olarak gösterir.
Grafana ile şunlar yapılabilir:
Açık portları görselleştirme
Host bazlı filtreleme
Servis dağılımını inceleme
Dashboard üzerinden hızlı analiz
Tarama çıktısını daha okunabilir hale getirme
3️⃣ Nmap XML Çıktısı Nasıl Üretilir?
Nmap tarama sonucunu XML formatında almak için -oX parametresi kullanılabilir.
Örnek:
nmap -sV -oX nmap_output.xml 192.168.1.0/24
Daha kapsamlı çıktı almak için -oA kullanılabilir:
nmap -sV -oA scan_result 192.168.1.0/24
Bu komut aynı anda farklı çıktı formatları üretir:
scan_result.nmap
scan_result.xml
scan_result.gnmap
Dashboard tarafında kullanılacak ana dosya XML çıktısıdır.
4️⃣ Hızlı Kurulum Mantığı
Genel kurulum akışı şu şekildedir:
git clone https://github.com/hackertarget/nmap-did-what.git
cd nmap-did-what/data
python nmap-to-sqlite.py nmap_output.xml
Ardından Grafana container’ı başlatılır:
cd ../grafana-docker
docker compose up -d
Grafana arayüzü varsayılan olarak şu porttan erişilebilir:
http://localhost:3000
Not:
Gerçek ortamda varsayılan kullanıcı/parola değiştirilmelidir.
Grafana arayüzü internete açık bırakılmamalıdır.
5️⃣ Dashboard Üzerinde Neler Görülebilir?
Nmap-Did-What ile görselleştirilebilecek başlıklar:
Taranan host sayısı
Açık port sayısı
Portlara göre dağılım
Servis bilgileri
Host bazlı port listesi
IP bazlı servis görünümü
Tarama sonuçlarının hızlı özeti
Bu sayede ham Nmap çıktısını tek tek okumak yerine grafiksel bir özet elde edilir.
6️⃣ Bu Proje Ne Değildir?
Nmap-Did-What faydalı bir görselleştirme projesidir; ancak sınırları doğru anlaşılmalıdır.
Gerçek Zamanlı Tehdit Tespit Platformu Değildir
Nmap-Did-What gerçek zamanlı IDS, SIEM veya NDR değildir.
Doğru ifade:
Nmap tarama çıktısını görselleştirir.
Gerçek zamanlı saldırı tespiti yapmaz.
Pasif Güvenlik Gözlemi Değildir
Nmap aktif tarama aracıdır.
Ağ üzerinde paket göndererek keşif yapar.
Bu nedenle “pasif güvenlik gözlemi” ifadesi bu proje için doğru değildir.
Daha doğru ifade:
Aktif ağ keşfi ve servis envanteri çıktılarının görselleştirilmesi için kullanılır.
Vulnerability Scanner Yerine Geçmez
Nmap servis ve port görünürlüğü sağlar. NSE script’leriyle bazı güvenlik kontrolleri yapılabilir; ancak bu proje tam kapsamlı vulnerability management platformu değildir.
Asset Management Platformu Değildir
Dashboard host ve port görünürlüğü sağlar; ancak tam CMDB, sahiplik, lifecycle, risk skoru ve ticketing süreçlerini tek başına yönetmez.
7️⃣ Kimler İçin Faydalı?
Bu proje özellikle şu ekipler için faydalıdır:
Sistem yöneticileri
Network ekipleri
Sızma testi ekipleri
SOC ekipleri
Blue team ekipleri
Lab ortamı kuranlar
Eğitim ve demo ortamları
Ağ envanteri çıkaran ekipler
8️⃣ Kullanım Senaryoları
Ağ Keşfi
Belirli bir subnet üzerindeki canlı sistemleri ve açık portları hızlıca görselleştirmek için kullanılabilir.
nmap -sS -sV -oX internal_scan.xml 10.10.10.0/24
Servis Analizi
Açık servislerin hangi IP’lerde bulunduğunu görmek için kullanılabilir.
Örnek:
SSH hangi hostlarda açık?
RDP hangi sistemlerde çalışıyor?
HTTP/HTTPS servisleri nerede?
Eski veya beklenmeyen servis var mı?
Pentest Raporlama Ön Hazırlığı
Pentest sırasında elde edilen Nmap sonuçlarını görsel hale getirerek rapor öncesi analiz kolaylaştırılabilir.
SOC Ön Analizi
SOC ekipleri, belirli bir segmentte beklenmeyen açık portları tespit etmek için tarama sonucunu görselleştirebilir.
Zaman İçinde Değişim Takibi
Aynı subnet düzenli taranırsa zaman içindeki değişim analiz edilebilir.
Örnek:
Dün kapalı olan port bugün açık mı?
Yeni host geldi mi?
Beklenmeyen servis ortaya çıktı mı?
Bu tür karşılaştırmalar için Nmap’in ndiff aracı da değerlendirilebilir.
9️⃣ Güvenli Kullanım Notları
Nmap aktif tarama yaptığı için dikkatli kullanılmalıdır.
Yetkili Kapsamda Tarama Yapın
Sadece size ait veya tarama izni verilen ağları tarayın.
Yetkisiz ağ taramaları hukuki ve operasyonel sorunlara yol açabilir.
Üretim Ortamında Tarama Yoğunluğunu Kontrol Edin
Agresif Nmap taramaları bazı eski cihazlarda, IoT/OT sistemlerinde veya hassas servislerde sorun yaratabilir.
Daha kontrollü tarama için:
nmap -sV -T2 --max-retries 2 -oX controlled_scan.xml 10.10.10.0/24
OT / ICS Ortamlarında Dikkatli Olun
OT/ICS cihazları aktif taramaya hassas olabilir.
Bu ortamlarda aktif Nmap taraması yapılmadan önce üretici önerileri, bakım penceresi ve change onayı alınmalıdır.
🔟 SQLite Yerine PostgreSQL Kullanılır mı?
Mevcut proje SQLite ile çalışır.
Ancak daha büyük ortamlarda PostgreSQL veya başka bir veritabanı mimarisi tercih edilebilir.
PostgreSQL geçişi için mimaride şu değişiklikler gerekir:
Python parser PostgreSQL’e yazacak şekilde güncellenir.
Veri modeli normalize edilir.
Grafana datasource PostgreSQL olarak değiştirilir.
Zaman serisi ve scan_id mantığı eklenir.
Retention ve index planı yapılır.
Özellikle çok sayıda scan sonucu, farklı subnet’ler ve uzun dönemli tarihsel analiz gerekiyorsa PostgreSQL daha uygun olabilir.
1️⃣1️⃣ Önerilen Veri Modeli Genişletmeleri
Proje büyütülmek istenirse şu alanlar eklenebilir:
scan_id
scan_time
target_range
host_ip
hostname
mac_address
vendor
port
protocol
state
service_name
service_version
product
os_guess
risk_tag
owner
environment
Bu alanlarla dashboard daha anlamlı hale gelir.
Örnek:
Production segmentte açık RDP portları
DMZ’de beklenmeyen SSH servisleri
Eski TLS servisleri
Sahipsiz hostlar
1️⃣2️⃣ SIEM ve Envanter Entegrasyonu
Nmap-Did-What küçük ve pratik bir dashboard projesidir. Ancak daha olgun bir güvenlik mimarisinde şu sistemlerle entegre edilebilir:
SIEM
CMDB
Asset inventory
Vulnerability scanner
Ticketing sistemi
MISP / CTI
SOAR playbook
Örnek akış:
Nmap scan sonucu
→ SQLite / PostgreSQL
→ Grafana dashboard
→ Beklenmeyen port tespiti
→ SIEM alarmı veya ticket
→ Network/security ekibi aksiyonu
1️⃣3️⃣ Sık Yapılan Hatalar
1️⃣ Nmap Dashboard’u Gerçek Zamanlı IDS Sanmak
Bu proje tarama çıktısını görselleştirir. Canlı trafik analizi veya saldırı tespiti yapmaz.
2️⃣ Yetkisiz Ağları Taramak
Nmap yalnızca izinli kapsamda kullanılmalıdır.
3️⃣ XML Çıktısı Almadan Dashboard Beklemek
Proje Nmap XML çıktısını işler. Bu nedenle -oX veya -oA ile XML dosyası üretilmelidir.
4️⃣ SQLite’ı Büyük Ölçekli Merkezi Veritabanı Gibi Kullanmak
SQLite pratik ve hafiftir; ancak büyük ölçekli, çok kullanıcılı ve uzun dönemli analiz için daha güçlü veritabanı gerekebilir.
5️⃣ Grafana’yı Güvensiz Yayınlamak
Grafana arayüzü varsayılan parola ile veya internete açık şekilde bırakılmamalıdır.
6️⃣ Taramaları Zaman Damgası Olmadan Tutmak
Zaman içinde değişim analizi için scan_id ve scan_time mantığı önemlidir.
1️⃣4️⃣ 48s Mini-PoC Planı
- Test subnet belirleyin.
- Yetkili tarama kapsamını netleştirin.
- Nmap ile XML çıktı üretin.
nmap-to-sqlite.pyscript’i ile XML’i SQLite’a aktarın.- Docker Compose ile Grafana container’ını başlatın.
- Grafana SQLite datasource bağlantısını kontrol edin.
- Dashboard üzerinde host ve port dağılımını inceleyin.
- Aynı subnet’i ikinci kez tarayıp değişim var mı kontrol edin.
- Beklenmeyen açık portları not alın.
- Grafana admin parolasını değiştirin.
- Dashboard’u sadece iç ağdan erişilebilir yapın.
- Büyük ölçek için PostgreSQL geçiş ihtiyacını değerlendirin.
Kısa Kullanım Rehberi
Nmap taraması:
→ nmap -sV -oX nmap_output.xml 192.168.1.0/24
XML parse:
→ python nmap-to-sqlite.py nmap_output.xml
Grafana başlat:
→ docker compose up -d
Dashboard:
→ Host, port, servis ve scan sonuçlarını incele.
Sonuç
Nmap-Did-What, Nmap tarama sonuçlarını daha okunabilir ve görsel hale getirmek için pratik bir açık kaynak mini projedir.
Doğru kullanıldığında:
Açık portları görselleştirir.
Host bazlı servis görünürlüğü sağlar.
Tarama sonuçlarını daha anlaşılır yapar.
Pentest ve ağ keşfi raporlamasını kolaylaştırır.
Grafana dashboard üzerinden hızlı analiz imkânı sunar.
Ancak doğru konumlandırılmalıdır:
Bu proje IDS değildir.
SIEM değildir.
Vulnerability management platformu değildir.
Pasif monitoring aracı değildir.
Nmap çıktısını görselleştiren dashboard projesidir.
Kısa özet:
Nmap ağı keşfeder.
Python XML çıktısını işler.
SQLite veriyi saklar.
Grafana sonucu görselleştirir.
Ağ keşfi ve servis analizi süreçlerini daha görünür hale getirmek isteyen sistem yöneticileri, pentest ekipleri ve SOC analistleri için sade ama faydalı bir projedir.

Cem Kemal Erbaş sitesinden daha fazla şey keşfedin
Subscribe to get the latest posts sent to your email.
Cem Kemal Erbaş Network, Siber Güvenlik ve Teknik Rehberler