Skip to content

RFKaya/Port-Scanner

Repository files navigation

İstinye Üniversitesi Logo

🏙️ İSTİNYE ÜNİVERSİTESİ

🛡️ SECOPS PORT SCANNER

Yüksek Performanslı, Asenkron Ağ Güvenliği ve Zafiyet Analiz Aracı



📖 Proje Hakkında

SecOps Port Scanner, üniversite vize projesi kapsamında geliştirilmiş, modern ağ güvenlik ihtiyaçlarını karşılamayı amaçlayan hibrit bir port tarama aracıdır. Rust programlama dilinin sunduğu bellek güvenliği ve yüksek performans avantajlarını kullanarak, binlerce portu saniyeler içinde tarayabilmektedir. Proje, hem profesyonel siber güvenlik uzmanları için güçlü bir CLI (Komut Satırı) arayüzü, hem de son kullanıcılar için görsel açıdan zengin bir Web Kontrol Paneli sunar.

Bu araç, sadece portların açık olup olmadığını kontrol etmekle kalmaz, aynı zamanda tespit edilen servisleri bir zafiyet veritabanıyla eşleştirerek olası güvenlik risklerini raporlar.


👨‍🏫 Akademik Bilgiler

  • Üniversite: İstinye Üniversitesi
  • Geliştirici: Rauf Fatih Kaya
  • Danışman: Keyvan Arasteh Abbasabad
  • Ders: Sızma Testi (Vize Projesi)

🗂️ İçindekiler

  1. Özellikler
  2. Hızlı Başlangıç
  3. Kullanım Senaryoları
  4. Teknik Mimari
  5. Dokümantasyon Dizinleri
  6. Lisans

✨ Özellikler

  • Asenkron Motor: Tokio runtime sayesinde ağ IO işlemlerinde maksimum verimlilik.
  • 🥷 Gizli Tarama (SYN Scan): Hedef sistemlerde iz bırakmadan (3-way handshake tamamlamadan) tarama yapabilme yeteneği.
  • 🌐 Modern Web Paneli: Axum ve Chart.js ile desteklenen, canlı veri takibi yapılabilen dashboard.
  • 🛡️ Zafiyet Eşleştirme: Açık portlardaki servisleri bilinen CVE verileriyle analiz etme.
  • 📊 Veri Saklama: Tüm tarama sonuçlarının JSON formatında otomatik olarak kaydedilmesi ve geçmişin web panelinden izlenmesi.
  • 🚀 Özelleştirilebilir Hız: Concurrency ayarı ile sistem kaynaklarına göre tarama hızını dinamik olarak belirleme.

🎬 Demo

Aşağıdaki demo videosunda SecOps Port Scanner'ın Web UI ve CLI üzerindeki yeteneklerini, zafiyet tespit süreçlerini ve gerçek zamanlı raporlama özelliklerini görebilirsiniz:

SecOps Project Demo


🚀 Hızlı Başlangıç

1. Kurulum

Projenin çalışması için sisteminizde Rust ve paket yakalama kütüphanelerinin (Npcap/libpcap) yüklü olması gerekir.

# Bağımlılıkları yükleyin ve projeyi derleyin
cargo build --release

2. Web Panelini Başlatma (Önerilen)

Web üzerinden görsel bir deneyim için:

cargo run -- web

Ardından http://localhost:3000 adresini ziyaret edin.

3. CLI Üzerinden Tarama

Daha hızlı ve doğrudan sonuçlar için:

cargo run -- pentest port-scan 127.0.0.1 --range 1-1000 --syn

🐳 4. Docker ile Çalıştırma

Uygulamayı herhangi bir bağımlılık (Npcap vb.) yüklemeden Docker üzerinde çalıştırabilirsiniz:

# Sadece Docker imajını oluşturun
docker build -t secops-scanner .

# Docker Compose ile tüm ortamı başlatın
docker-compose up -d

Caution

Docker üzerinden SYN Tarama yapabilmek için kapsayıcıya ağ yetkileri verilmelidir. docker-compose.yml dosyasında bu yetkiler (cap_add: [NET_ADMIN, NET_RAW]) tanımlanmıştır.


🛠️ Kullanım Senaryoları

Senaryo A: Yerel Ağ Güvenlik Testi

Kendi ağınızdaki cihazların hangi servisleri dışarı açtığını görmek için standart bir TCP taraması yapabilirsiniz. Bu, yanlışlıkla açık bırakılan portları (örn: 3389 RDP, 22 SSH) tespit etmenizi sağlar.

Senaryo B: Gizli Pentest Çalışması

Hedef sistemin güvenlik duvarı kurallarını veya log sistemlerini tetiklemeden tarama yapmak istiyorsanız --syn bayrağını kullanarak paket seviyesinde tarama gerçekleştirebilirsiniz.

Senaryo C: Geniş Kapsamlı Tarama

Tüm port aralığını (1-65535) hızlıca taramak için concurrency değerini artırarak (örn: -c 2000) süreci dakikalar bazına indirebilirsiniz.


🏗️ Teknik Mimari

Proje, modüler bir yapı üzerine inşa edilmiştir:

  • Scanner Core: TCP, UDP ve SYN protokollerini temsil eden asenkron fonksiyonlar.
  • Persistence Layer: Tarama sonuçlarını dosya sistemine asenkron olarak yazan katman.
  • Web Engine: RESTful API ve statik dosya sunumu yapan Axum sunucusu.
  • Frontend Assets: Vanilla JS ve modern CSS ile tasarlanmış, veri odaklı arayüz.

Detaylı teknik bilgi için MİMARİ KILAVUZUNA göz atın.


📂 Dokümantasyon Dizinleri

Projenin tüm detaylarını aşağıdaki belgelerde bulabilirsiniz:


🛠️ Proje Geliştirme Süreci ve Zorluklar

Bu projenin geliştirilmesi sırasında karşılaşılan en büyük teknik zorluk, binlerce portun asenkron olarak taranırken sistem kaynaklarının (file descriptors) tükenmemesini sağlamaktı. Tokio kanalları ve sınırlı concurrency yapıları kullanılarak bu sorun çözülmüştür.

  • SYN Scan Entegrasyonu: Raw socket kullanımı için işletim sistemi katmanındaki farklılıklar (Windows Npcap vs Linux libpcap) pnet kütüphanesi ve platforma özgü ağ ayarlarıyla yönetilmiştir.
  • Web-CLI Senkronizasyonu: CLI üzerinden yapılan taramaların web panelinde anında görünebilmesi için merkezi bir JSON tabanlı persistence (kalıcılık) katmanı tasarlanmıştır.

🔮 Gelecek Çalışmalar ve Yol Haritası

Projenin bir sonraki aşamasında aşağıdaki özelliklerin eklenmesi planlanmaktadır:

  • 🐳 Docker Desteği: Tek komutla tüm ortamın (Rust + Web + Npcap) ayağa kaldırılması.
  • 📡 Servis Banner Grabbing: Açık portlardaki servislerden sürüm bilgilerini (banner) çekerek daha hassas zafiyet analizi.
  • 📱 Mobil Uyumlu Arayüz: Web panelinin mobil cihazlarda daha verimli çalışması için responsive iyileştirmeler.
  • 📧 Anlık Bildirimler: Kritik bir port veya zafiyet tespit edildiğinde Telegram veya Mail üzerinden uyarı gönderimi.

📜 Lisans

Bu proje MIT Lisansı ile korunmaktadır. Eğitim amaçlı kullanımlarda kaynak gösterilmesi rica olunur.


Geliştirici: Rauf Fatih Kaya tarafından İstinye Üniversitesi vize ödevi olarak hazırlanmıştır.

© 2026 SecOps Port Scanner - Tüm Hakları Saklıdır.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors