10 / SECURITY TOOLING

Professional Port Scanner

Full-stack network reconnaissance tool built with Flask and React—performs rapid TCP scanning, service enumeration, and CVE correlation with real-time UI and export capabilities.

FlaskReactSocket ProgrammingNetwork Security

Project overview

A professional-grade network scanner demonstrating full-stack security tooling development. Combines backend socket programming, concurrent processing, vulnerability intelligence, and a polished frontend UI—the type of tool used by security teams in real-world engagements.

Architecture & features

Backend (Flask REST API)

  • Parallel port scanning: 50 concurrent threads for rapid enumeration of 1-1000 port ranges.
  • TCP connection-based detection: Establishes connections to confirm open ports; faster than Nmap for quick assessments.
  • Service detection: Identifies 15+ common services (SSH, HTTP, MySQL, SMB, PostgreSQL, RDP, VNC, etc.) by port mapping and banner grabbing.
  • Version extraction: Retrieves service banners to determine software versions and patch levels.
  • CVE correlation: Maps detected services to known vulnerabilities (CVE database); assigns risk scores (High/Medium/Low).
  • Timeout configuration: Adjustable per-port timeout (1-10 seconds) for reliable scanning across network conditions.

Frontend (React SPA)

  • Real-time dashboard: Live progress updates and dynamic results table.
  • Dark terminal aesthetic: Glowing UI matching professional SOC environments.
  • Responsive design: Adapts to desktop, tablet, and mobile.
  • Export capabilities: Download results as JSON or CSV for further analysis or reporting.
  • Statistics panel: Summary counts of open, closed, and filtered ports with vulnerability highlights.

Technical highlights

Concurrency: ThreadPoolExecutor with 50 worker threads balances speed against system resource consumption and network politeness.

Error handling: Graceful degradation for filtered ports, timeouts, and connection errors; scan continues even if individual ports fail.

API design: RESTful endpoints for scanning, validation, and CVE lookups; extensible for future integration with external threat feeds.

Performance: 1-1000 port scan completes in 30-60 seconds; optimized for common port ranges (1-100, 1-65535 supported).

Use cases

  • Network asset discovery and inventory during security audits.
  • Vulnerability assessment as part of authorized penetration testing.
  • Internal network reconnaissance during incident response.
  • Security team training on reconnaissance workflows and attack surface analysis.
  • Demonstration of custom security tooling capability for portfolio/job interviews.

Responsible use

This tool is intended for authorized testing on systems you own or have explicit permission to test. Unauthorized network scanning may violate laws in your jurisdiction. Always obtain written authorization before scanning any external network or third-party infrastructure.

Limitations & future work

Current: TCP port scanning, local CVE database, no authentication support.

Future enhancements: UDP scanning, OS fingerprinting, Nmap integration, real-time NVD API queries, scheduled scanning, persistent results database, Docker deployment.

Status: Production-ready for authorized security assessments. Open-source; contributions and feedback welcome.

Code and deployment

View on GitHub

Return to portfolio