How benhamadaaridj/netscan works
NetScan is a Flask network-monitoring application. Users authenticate, request single-host or range scans, then review stored results, compare scans, and export PDF reports; scheduled scans repeat this process and can generate change and critical-port alerts. The graph also includes email settings/notifications and the persistent domain state. Some route and template excerpts were incomplete, so uncertain wiring—particularly email-management routes—is left out or marked optional.
Main entry points: routes.py Flask routes · models.py Domain models · scheduler.py Scan scheduler · scanner.py Scan engine
Components 12
Web interface
- Flask routes
app/routes.py - Web pages
templates - App setup
app/__init__.py
Scanning and analysis
- Scan engine
app/scanner.py - Nmap scanner
Scheduling and alerts
- Scan scheduler
app/scheduler.py - Email sender
app/email_sender.py - SMTP service
Persistence and reports
- Domain models
app/models.py - PDF exporter
app/pdf_exporter.py - PDF reports
downloads
Other components
- Administrator
Connections 17
- Administrator → Flask routes: submits requests
- Flask routes → Administrator: returns pages and results
- Flask routes → Web pages: renders pages
- App setup → Flask routes: registers blueprints
- Flask routes → Domain models: reads and updates
- Flask routes → Scan engine: starts scans and comparisons
- Scan engine → Nmap scanner: scans targets
- Scan engine → Domain models: stores scan data
- Flask routes → PDF exporter: requests report export
- PDF exporter → Domain models: reads scan ports
- PDF exporter → PDF reports: writes report
- App setup → Scan scheduler: starts background loop
- Scan scheduler → Domain models: loads schedules and updates records
- Scan scheduler → Scan engine: runs scheduled scans
- Scan scheduler → Email sender: sends critical alerts
- Email sender → Domain models: reads email settings
- Email sender → SMTP service: sends messages