{"id":30899046,"url":"https://github.com/seferogluemre/network-security-scanner","last_synced_at":"2025-09-09T02:08:40.901Z","repository":{"id":313412349,"uuid":"1049989631","full_name":"seferogluemre/network-security-scanner","owner":"seferogluemre","description":"🛡️ NetScout - Python Network Security Scanner with Flask API Multi-threaded port scanner, network discovery tool and REST API for cybersecurity professionals and network administrators.","archived":false,"fork":false,"pushed_at":"2025-09-05T20:55:18.000Z","size":42,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-05T22:23:57.323Z","etag":null,"topics":["flask-api","network","port-scanner","python","restful-api","tcp-ip"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seferogluemre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-03T19:36:07.000Z","updated_at":"2025-09-05T20:55:22.000Z","dependencies_parsed_at":"2025-09-05T22:24:01.814Z","dependency_job_id":"c629f043-264f-4f28-9b49-288a6390ff1c","html_url":"https://github.com/seferogluemre/network-security-scanner","commit_stats":null,"previous_names":["seferogluemre/network-security-scanner"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/seferogluemre/network-security-scanner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seferogluemre%2Fnetwork-security-scanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seferogluemre%2Fnetwork-security-scanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seferogluemre%2Fnetwork-security-scanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seferogluemre%2Fnetwork-security-scanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seferogluemre","download_url":"https://codeload.github.com/seferogluemre/network-security-scanner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seferogluemre%2Fnetwork-security-scanner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231860,"owners_count":25245858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask-api","network","port-scanner","python","restful-api","tcp-ip"],"created_at":"2025-09-09T02:08:37.707Z","updated_at":"2025-09-09T02:08:40.889Z","avatar_url":"https://github.com/seferogluemre.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛡️ NetScout - Network Security Scanner\n\n[![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/)\n[![Flask](https://img.shields.io/badge/Flask-2.2+-green.svg)](https://flask.palletsprojects.com/)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Security](https://img.shields.io/badge/Security-Educational-red.svg)](#-legal-disclaimer)\n\n**NetScout**, ağ güvenliği profesyonelleri ve sistem yöneticileri için geliştirilmiş **Python tabanlı** network tarama ve keşif aracıdır. **Multi-threading** desteği ve **REST API** ile hızlı ve etkili ağ analizi sağlar.\n\n## 🚀 Özellikler\n\n### 🎯 **Core Tarama Modülleri**\n- **Port Scanner**: TCP port tarama ve servis tespiti\n- **Network Discovery**: Ağdaki aktif cihazları bulma (Ping Sweep)\n- **Fast Scanner**: Multi-threading ile hızlandırılmış tarama (10x-50x hızlı)\n- **Service Detection**: Açık portlardaki servisleri tanımlama\n\n### 🌐 **REST API Server**\n- **Flask** tabanlı RESTful API\n- **CORS** desteği ile cross-origin erişim\n- **JSON** formatında sonuçlar\n- **Health check** ve monitoring endpoint'leri\n\n### 💻 **Kullanıcı Arayüzleri**\n- **İnteraktif CLI** menü sistemi\n- **API Test Client** (otomatik ve manuel test)\n- **Programatik** kullanım için Python modülleri\n\n## 📦 Teknoloji Stack\n\n| Kategori | Teknoloji | Versiyon | Açıklama |\n|----------|-----------|----------|----------|\n| **Core** | Python | 3.7+ | Ana programlama dili |\n| **Network** | socket | built-in | TCP/IP bağlantıları |\n| **Threading** | concurrent.futures | built-in | Paralel işlemler |\n| **API** | Flask | 2.2+ | REST API server |\n| **CORS** | flask-cors | 3.0+ | Cross-origin requests |\n| **HTTP** | requests | 2.28+ | API test client |\n| **Network Utils** | subprocess | built-in | Ping operations |\n| **Data** | ipaddress | built-in | IP/subnet hesaplamaları |\n\n## 🛠️ Kurulum\n\n### **Gereksinimler**\n- Python 3.7 veya üzeri\n- pip (Python package manager)\n- Unix/Linux/macOS (Windows kısmen desteklenir)\n\n### **Hızlı Kurulum**\n```bash\n# Repo'yu klonla\ngit clone https://github.com/seferogluemre/network-security-scanner.git\ncd netscout-py\n\n# Gereksinimleri kur\npip3 install -r requirements.txt\n\n# Ana programı çalıştır\npython3 main.py\n```\n\n### **Gereksinimler Detay**\n```bash\n# Core dependencies\npip3 install flask flask-cors requests\n\n# Optional (development)\npip3 install pytest black flake8\n```\n\n## 🎮 Kullanım Rehberi\n\n### **1. 🖥️ CLI (Command Line Interface)**\n\n#### Temel Kullanım\n```bash\n# Ana menüyü başlat\npython3 main.py\n\n# Menü seçenekleri:\n# 1. 🎯 Port Tarama - Belirli portları tara\n# 2. 🌐 Ağ Keşfi - Ağdaki cihazları bul  \n# 3. ⚡ Hızlı Tarama - Multi-threading ile hızlı tarama\n# 4. 📊 Detaylı Rapor - Gelişmiş analiz (yakında)\n```\n\n#### Port Tarama Örnekleri\n```bash\n# Yaygın portları tara\nHedef IP: 192.168.1.1\nTarama türü: 1 (Yaygın portlar)\n\n# Özel port aralığı\nHedef IP: 10.0.0.1  \nTarama türü: 2 (Port aralığı)\nBaşlangıç: 1\nBitiş: 1000\n\n# Manuel port listesi\nHedef IP: example.com\nTarama türü: 3 (Özel portlar)\nPortlar: 80,443,22,21,3000\n```\n\n### **2. 🌐 REST API Server**\n\n#### API Server'ı Başlat\n```bash\npython3 api/server.py\n\n# Output:\n# 🚀 NetScout API Server Başlatılıyor...\n# 🌐 URL: http://localhost:8080\n# ✨ Ctrl+C ile durdurun\n```\n\n#### API Endpoint'leri\n\n| Method | Endpoint | Açıklama | Parametreler |\n|--------|----------|----------|--------------|\n| `GET` | `/` | Ana sayfa ve endpoint listesi | - |\n| `GET` | `/api/health` | Sağlık kontrolü | - |\n| `POST` | `/api/scan/ports` | Port tarama | `target`, `ports` |\n| `POST` | `/api/scan/fast` | Hızlı tarama | `target`, `start_port`, `end_port`, `threads` |\n| `POST` | `/api/network/discover` | Ağ keşfi | `network` (opsiyonel) |\n| `GET` | `/api/scan/simple` | Basit tarama | `target` (query param) |\n\n#### API Kullanım Örnekleri\n\n**Port Tarama (POST)**\n```bash\ncurl -X POST http://localhost:8080/api/scan/ports \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"target\": \"192.168.1.1\",\n    \"ports\": [80, 443, 22, 21, 3000]\n  }'\n```\n\n**Hızlı Tarama (POST)**\n```bash\ncurl -X POST http://localhost:8080/api/scan/fast \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"target\": \"127.0.0.1\",\n    \"start_port\": 1,\n    \"end_port\": 1000,\n    \"threads\": 100\n  }'\n```\n\n**Basit Tarama (GET)**\n```bash\ncurl \"http://localhost:8080/api/scan/simple?target=google.com\"\n```\n\n### **3. 🧪 API Test Client**\n\n#### Otomatik Test Suite\n```bash\n# Tüm endpoint'leri test et\npython3 api/test_client.py --auto\n```\n\n#### İnteraktif Test\n```bash\n# Manuel test menüsü\npython3 api/test_client.py\n\n# Test menüsü:\n# 1. 🎯 Port Tarama\n# 2. ⚡ Hızlı Tarama  \n# 3. 🌐 Ağ Keşfi\n# 4. 🔍 Basit Tarama\n# 5. 🩺 Sağlık Kontrolü\n```\n\n### **4. 📚 Programatik Kullanım**\n\n#### Python Modül Olarak\n```python\n# Port scanner\nfrom core.port_scanner import PortScanner\n\nscanner = PortScanner()\nresults = scanner.scan_ports(\"192.168.1.1\", [80, 443, 22])\nprint(f\"Açık portlar: {results['open_ports']}\")\n\n# Hızlı tarama\nfrom core.threaded_scanner import FastPortScanner\n\nfast_scanner = FastPortScanner(max_threads=100)\nopen_ports = fast_scanner.scan_port_range_threaded(\"10.0.0.1\", 1, 1000)\nprint(f\"Bulunan portlar: {open_ports}\")\n\n# Ağ keşfi\nfrom core.network_discovery import NetworkDiscovery\n\ndiscovery = NetworkDiscovery()\nalive_hosts = discovery.discover_network(\"192.168.1.0/24\")\nprint(f\"Canlı hostlar: {alive_hosts}\")\n```\n\n## 👥 Kimler Kullanabilir?\n\n### ✅ **Uygun Kullanıcılar**\n- **Siber Güvenlik Uzmanları** - Penetration testing ve vulnerability assessment\n- **Sistem Yöneticileri** - Network monitoring ve troubleshooting\n- **DevOps Engineers** - Infrastructure monitoring ve health checks\n- **Öğrenciler** - Cybersecurity ve network programming öğrenimi\n- **Araştırmacılar** - Network security research ve analiz\n- **IT Profesyonelleri** - Network inventory ve documentation\n\n### 🎓 **Eğitim Amaçlı**\n- Network programming öğrenimi\n- Python socket programming\n- Multi-threading concepts\n- REST API development\n- Cybersecurity fundamentals\n\n### 💼 **Profesyonel Kullanım**\n- **Internal network auditing**\n- **Service discovery** ve inventory\n- **Network troubleshooting**\n- **Automated monitoring** entegrasyonu\n- **CI/CD pipeline** health checks\n\n## 📊 Performans\n\n### **Hız Karşılaştırması**\n| Tarama Türü | 100 Port | 1000 Port | 10000 Port |\n|--------------|----------|-----------|------------|\n| **Sıralı** | ~100 saniye | ~1000 saniye | ~10000 saniye |\n| **Threading** | ~3-5 saniye | ~10-15 saniye | ~30-60 saniye |\n| **Hız Artışı** | **20x-30x** | **60x-100x** | **150x-300x** |\n\n### **Kaynak Kullanımı**\n- **CPU**: Orta (multi-threading)\n- **Memory**: Düşük (~50-100MB)\n- **Network**: Orta (paralel bağlantılar)\n- **Disk**: Minimal (log files)\n\n## 🏗️ Proje Yapısı\n\n```\nnetscout-py/\n├── 📄 main.py                    # Ana CLI menü\n├── 📄 requirements.txt           # Python gereksinimleri\n├── 📁 core/                      # Temel tarama modülleri\n│   ├── port_scanner.py           # Port tarama motoru\n│   ├── network_discovery.py      # Ağ keşif modülü\n│   └── threaded_scanner.py       # Multi-thread tarama\n├── 📁 api/                       # REST API modülleri\n│   ├── server.py                 # Flask API server\n│   └── test_client.py            # API test client\n├── 📁 utils/                     # Yardımcı fonksiyonlar\n│   ├── logger.py                 # Logging utilities\n│   └── network_utils.py          # Network helper functions\n├── 📁 config/                    # Konfigürasyon\n│   └── settings.py               # Uygulama ayarları\n└── 📁 tests/                     # Test dosyaları\n    └── test_scanner.py           # Unit testler\n```\n\n## 🔧 Gelişmiş Konfigürasyon\n\n### **Environment Variables**\n```bash\nexport NETSCOUT_API_PORT=8080\nexport NETSCOUT_LOG_LEVEL=INFO\nexport NETSCOUT_MAX_THREADS=100\nexport NETSCOUT_TIMEOUT=5\n```\n\n### **Custom Settings**\n```python\n# config/settings.py dosyasını düzenle\nDEFAULT_TIMEOUT = 3\nMAX_THREADS = 100\nAPI_PORT = 8080\nLOG_LEVEL = \"INFO\"\n```\n\n## 🧪 Test Etme\n\n### **Unit Tests**\n```bash\n# Test suite'i çalıştır\npython -m pytest tests/\n\n# Coverage report\npython -m pytest --cov=core tests/\n```\n\n### **API Tests**\n```bash\n# API server'ı başlat (terminal 1)\npython3 api/server.py\n\n# Test client'ı çalıştır (terminal 2)  \npython3 api/test_client.py --auto\n```\n\n## 🚨 Legal Disclaimer\n\n### ⚠️ **ÖNEMLİ UYARILAR**\n\nBu araç **sadece aşağıdaki durumlarda** kullanılmalıdır:\n\n✅ **İzin Verilen Kullanımlar:**\n- **Kendi ağınızda** test ve monitoring\n- **Yetkiniz olan sistemlerde** güvenlik testi\n- **Eğitim amaçlı** öğrenme ve araştırma\n- **Kurumsal ortamda** network auditing (izin ile)\n- **Penetration testing** (resmi sözleşme ile)\n\n❌ **Yasak Kullanımlar:**\n- **İzinsiz ağ tarama** (illegal)\n- **Başkalarının sistemlerine** saldırı\n- **DDoS** veya **DoS** saldırıları\n- **Kötü niyetli** aktiviteler\n- **Gizlilik ihlali** amaçlı kullanım\n\n### 📜 **Yasal Sorumluluk**\n\n- Bu aracı kullanarak **tüm yasal sorumluluk** kullanıcıya aittir\n- Yerel ve uluslararası **cybersecurity yasalarına** uyun\n- **Etik hacking** prensiplerini benimseyin\n- Şüpheli durumlarda **hukuki danışmanlık** alın\n\n### 🛡️ **Güvenlik İlkeleri**\n\n1. **Responsible Disclosure** - Bulduğunuz güvenlik açıklarını sorumlu şekilde bildirin\n2. **No Harm Principle** - Sistemlere zarar vermeyin\n3. **Permission First** - Önce izin alın, sonra test edin\n4. **Educational Purpose** - Öğrenme amaçlı kullanın\n\n## 🤝 Katkıda Bulunma\n\n### **Geliştirme Süreci**\n```bash\n# Fork \u0026 clone\ngit clone https://github.com/yourusername/netscout-py.git\ncd netscout-py\n\n# Development branch oluştur\ngit checkout -b feature/new-feature\n\n# Değişiklikleri commit et\ngit add .\ngit commit -m \"feat: add new scanning feature\"\n\n# Pull request gönder\ngit push origin feature/new-feature\n```\n\n### **Code Style**\n```bash\n# Code formatting\nblack *.py core/*.py api/*.py\n\n# Linting\nflake8 --max-line-length=88 .\n\n# Type checking (optional)\nmypy core/ api/\n```\n\n## 📞 Destek ve İletişim\n\n### **Sorun Bildirimi**\n- 🐛 **Bug Reports**: GitHub Issues\n- 💡 **Feature Requests**: GitHub Discussions  \n- 📖 **Documentation**: Wiki sayfaları\n\n### **Topluluk**\n- 💬 **Discord**: [NetScout Community](#)\n- 📧 **Email**: security@netscout.dev\n- 🐦 **Twitter**: [@NetScoutTool](#)\n\n## 📈 Roadmap\n\n### **v1.1.0 (Yakında)**\n- [ ] **Web Dashboard** - Modern web arayüzü\n- [ ] **Database Integration** - Scan history\n- [ ] **Scheduled Scans** - Otomatik tarama\n- [ ] **Email Notifications** - Alert sistemi\n\n### **v1.2.0 (Gelecek)**\n- [ ] **Docker Support** - Containerization\n- [ ] **Kubernetes Integration** - Cloud-native deployment\n- [ ] **Advanced Reporting** - PDF/HTML raporlar\n- [ ] **Plugin System** - Genişletilebilir mimari\n\n### **v2.0.0 (Uzun Vadeli)**\n- [ ] **Machine Learning** - Anomaly detection\n- [ ] **Distributed Scanning** - Multi-node support\n- [ ] **Real-time Monitoring** - WebSocket streaming\n- [ ] **Mobile App** - iOS/Android client\n\n## 📄 License\n\nBu proje **MIT License** altında lisanslanmıştır. Detaylar için [LICENSE](LICENSE) dosyasına bakınız.\n\n```\nMIT License - Özgürce kullanabilir, değiştirebilir ve dağıtabilirsiniz.\nTek şart: Telif hakkı bildirimini korumanız.\n```\n\n## 🙏 Teşekkürler\n\n### **Katkıda Bulunanlar**\n- [@emreseferoglu](https://github.com/emreseferoglu) - Proje kurucusu\n- **Python Community** - Güçlü ecosystem\n- **Flask Team** - Mükemmel web framework\n- **Open Source Community** - İlham ve destek\n\n### **Kullanılan Teknolojiler**\n- **Python** - Güçlü ve esnek programlama dili\n- **Flask** - Minimal ve etkili web framework\n- **Socket Programming** - Network communication\n- **Threading** - Paralel işlem desteği\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**🛡️ NetScout ile ağlarınızı güvenle keşfedin!**\n\n[![GitHub Stars](https://img.shields.io/github/stars/yourusername/netscout-py?style=social)](https://github.com/yourusername/netscout-py/stargazers)\n[![GitHub Forks](https://img.shields.io/github/forks/yourusername/netscout-py?style=social)](https://github.com/yourusername/netscout-py/network/members)\n\n**Made with ❤️ by [Emre Seferoğlu](https://github.com/emreseferoglu)**\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseferogluemre%2Fnetwork-security-scanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseferogluemre%2Fnetwork-security-scanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseferogluemre%2Fnetwork-security-scanner/lists"}