A protocol-aware, enterprise-grade TCP port scanner built in Python. Designed to detect open ports, flag risky services, and log results in structured formats. Includes YAML configuration, CVE-based risk scoring, Flask dashboard, unit tests, and CI-ready architecture.
✅ TCP port scanning via socket
🧠 CVE-aware risk flagging using YAML map
📄 YAML-based configuration for targets and timeouts
📜 Structured logging in CSV or JSON
🌐 Flask dashboard for scan visualization
🧪 Unit tests for core modules
🔁 CI-ready with semantic commit flow
📦 Modular codebase for future integrations
git clone https://github.com/vooradis/network-sentinel.git
cd network-sentinel
pip install -r requirements.txt
⚙️ Configuration Edit data/config.yaml to define scan targets and parameters:
targets:
- ip: "192.168.1.1"
ports: [22, 443]
- ip: "10.0.0.5"
ports: [23, 3389]
timeout: 2
log_format: "csv"
Edit data/port_risks.yaml to define risk levels:
22: "Medium - SSH exposure"
23: "High - Telnet vulnerability"
3389: "High - RDP risk"
443: "Safe - TLS"
python run.py
python -m unittest discover tests
python network_sentinel/dashboard.py
Visit http://localhost:5000 to view scan results.
network-sentinel/
├── run.py
├── requirements.txt
├── README.md
├── data/
│ ├── config.yaml
│ └── port_risks.yaml
├── templates/
│ └── index.html
├── network_sentinel/
│ ├── **init**.py
│ ├── scanner.py
│ ├── utils.py
│ ├── logger.py
│ ├── risk_engine.py
│ └── dashboard.py
└── tests/
├── **init**.py
├── test_utils.py
└── test_risk_engine.py
This tool can be deployed across internal nodes or cloud VMs:
- Validates open TCP ports across defined IPs
- Flags risky services using CVE-style mapping
- Logs structured metrics for dashboards and alerts
- Modular design supports cloud-native extensions
- Ideal for CI pipelines and security audits
Built with clarity, modularity, and observability in mind. Reflects principles of testability, deployment readiness, and real-world applicability.
Samrat Vooradi
From Code to Cloud | Architecting What's Next.
This project is licensed under the MIT License