Skip to the content.

Server Documentation

The Port Scanner Delta Reporter server is the central coordination hub for distributed network scanning. It manages scan configurations, delegates tasks to client agents, aggregates results, and generates delta reports showing network changes over time.

Quick Start

# Clone and navigate to server directory
cd server

# Install and setup
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
flask setup

# Create admin user
flask create-admin

# Run server
flask run --host=0.0.0.0 --port=5000

Access the web interface at http://localhost:5000

Overview

The server application provides:

Architecture

┌─────────────────────────────────────────────────┐
│           Web Interface / Dashboard             │
├─────────────────────────────────────────────────┤
│               Flask Application                 │
│  ┌──────────┐  ┌──────────┐  ┌──────────────┐   │
│  │   Auth   │  │  Scans   │  │    Delta     │   │
│  │  System  │  │  Manager │  │   Reports    │   │
│  └──────────┘  └──────────┘  └──────────────┘   │
├─────────────────────────────────────────────────┤
│              Task Scheduler                     │
│          (APScheduler Background)               │
├─────────────────────────────────────────────────┤
│          Database (SQLite/PostgreSQL)           │
└─────────────────────────────────────────────────┘
         ↕                    ↕
    [Client 1]           [Client 2]

Key Features

Scan Management

Delta Reporting

Alert System

Client Coordination

Security

Monitoring

Documentation

Installation

Complete installation guide covering:

Configuration

Detailed configuration options:

API Reference

Complete REST API documentation:

Usage Guide

Step-by-step usage instructions:

System Requirements

Minimum

Technology Stack

Common Tasks

Creating Your First Scan

# Via web interface
1. Navigate to Scans → New Scan
2. Configure target: 192.168.1.0/24
3. Set ports: 1-65535
4. Enable scheduling
5. Click Create

# Or via API
curl -X POST http://localhost:5000/api/scans \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Network Scan",
    "target": "192.168.1.0/24",
    "ports": "1-65535",
    "interval_minutes": 10080,
    "is_scheduled": true
  }'

Viewing Delta Reports

# Web interface
1. Navigate to Reports
2. Select a network
3. Click "View Latest Report"
4. Export as CSV/JSON if needed

# API
curl http://localhost:5000/api/scan/1/reports

Managing Clients

# Approve new client
curl -X POST http://localhost:5000/api/clients/<client_id>/approve

# View client status
curl http://localhost:5000/api/clients/<client_id>

Default Ports

Security Considerations

  1. Change default credentials immediately after installation
  2. Generate secure SECRET_KEY for production
  3. Enable HTTPS with valid SSL certificate
  4. Configure firewall rules appropriately
  5. Regular backups of database
  6. Keep dependencies updated
  7. Review logs regularly for suspicious activity

Troubleshooting

Server Won’t Start

# Check if port is in use
lsof -i :5000

# Check logs
tail -f logs/app.log

# Verify database connection
flask shell
>>> from app import db
>>> db.engine.connect()

Scans Not Running

# Verify scheduler is running
flask list-jobs

# Check client status
# Navigate to Clients page in web interface

# Review scheduler logs
tail -f logs/scheduler.log

Performance Issues

Getting Help

Contributing

Contributions are welcome! Please refer to the main project contributing guidelines.

License

This project is part of the Port Scanner Delta Reporter suite. See the main LICENSE file for details.


Next Steps: