A powerful, lightweight network reconnaissance tool built with Python, Scapy, and Flask. Discover active hosts, scan ports, and analyze your network infrastructure with an intuitive web dashboard or command-line interface.
- Automatic local network detection (CIDR notation support)
- ARP-based host discovery with fallback ping-based detection
- MAC address vendor identification
- Reverse DNS hostname resolution
- Fast multi-threaded port scanning
- Default scan of 15 common ports
- Service identification and risk classification
- Open port enumeration with details
- Device type detection (Workstation, Server, Network Device, etc.)
- OS family detection via TTL analysis
- Security risk scoring
- Vulnerability alerts (exposed ports, weak protocols)
- Banner grabbing for service version detection
- Web Dashboard: Modern, responsive UI with real-time updates
- CLI Tool: Comprehensive command-line interface for advanced users
- Export results in JSON, CSV, and HTML formats
- Scan history tracking
- Network topology visualization
- Detailed host-by-host reporting
- Multi-format export capabilities
The modern, responsive web interface for network scanning:

Command-line tool for advanced users and automation:

- Python 3.7+
- Windows/Linux/macOS with administrator/root privileges
- Npcap (Windows only) - Download
git clone https://github.com/your-username/network-intelligence-scanner.git
cd network-intelligence-scanner# Windows
python -m venv venv
venv\Scripts\activate
# Linux/macOS
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtcd app
python app.pyThen open http://localhost:5000 in your browser.
python cli_dashboard.py- Auto-Detect Network: Click the "Auto-Detect" button to find your local network automatically
- Manual Entry: Enter a network range in CIDR format (e.g.,
192.168.1.0/24) - Start Scan: Click "Start Scan" to begin host discovery and port enumeration
- View Results:
- Stats Dashboard: Overview of found hosts, open ports, and risk levels
- Host List: Detailed view of each discovered host
- Port Analysis: Click a host to see detected open ports and services
- Export Results: Download scan results as JSON, CSV, or HTML
Network Scanner - Standalone Demo
================================================
Local IP: 192.168.1.100
Network Range: 192.168.1.0/24
Select mode:
1. Quick Scan
2. Full Report
3. Exit
network-intelligence-scanner/
βββ README.md # This file
βββ LICENSE # MIT License
βββ requirements.txt # Python dependencies
βββ config.ini # Configuration settings
βββ cli_dashboard.py # CLI interface
βββ run.sh # Linux/macOS startup script
βββ run.bat # Windows startup script
β
βββ app/
βββ app.py # Flask web server
βββ scanner.py # Core scanning engine
β
βββ templates/
β βββ index.html # Web UI template
β
βββ static/
βββ style.css # Dashboard styling
βββ script.js # Frontend logic
Edit config.ini to customize behavior:
# Network scanning timeouts
SCAN_TIMEOUT=2
PORT_SCAN_TIMEOUT=1
# Performance settings
MAX_PARALLEL_SCANS=1
THREAD_POOL_SIZE=4
MAX_SCAN_RESULTS=1000
# Port configuration
COMMON_PORTS=21,22,23,25,53,80,110,143,443,445,3306,5432,8080,8443
# Web server settings
APP_HOST=127.0.0.1
APP_PORT=5000
ALLOW_REMOTE_CONNECTIONS=FalseThe scanner detects and warns about:
- Telnet (Port 23): Unencrypted protocol - Use SSH instead
- FTP (Port 21): Unencrypted data transfer - Use SFTP
- SMB (Port 445): Windows file sharing on non-Windows systems
- Exposed Databases: MySQL/PostgreSQL on accessible ports
- Unencrypted HTTP: HTTP without HTTPS support
| Endpoint | Method | Description |
|---|---|---|
/api/network-info |
GET | Get local network information |
/api/start-scan |
POST | Start a new network scan |
/api/scan-status |
GET | Get current scan status |
/api/port-scan/<host> |
GET | Scan specific host ports |
/api/scan-history |
GET | Get scan history |
/api/topology |
GET | Get network topology |
/api/dashboard |
GET | Get dashboard data |
/api/export/csv |
GET | Export as CSV |
/api/export/html |
GET | Export as HTML |
/api/export/json |
GET | Export as JSON |
- Administrator privileges required for ARP scanning
- Install Npcap from https://nmap.org/npcap/ for packet capture
- Ensure Npcap is installed with "WinPcap API-compatible mode" enabled
- Root/sudo privileges required for raw socket operations
- Use
sudo python cli_dashboard.pyorsudo python app/app.py
- Scanner must be on the same network segment (Layer 2)
- Firewalls may block ICMP/ARP - ping-based fallback is automatic
- Maximum of 64 hosts scanned simultaneously (configurable)
- ARP Boost: Sends ARP packets to discover hosts actively responding
- Fallback Detection: Uses ICMP ping if ARP unavailable
- DNS Resolution: Attempts reverse DNS lookups for hostnames
- Vendor Lookup: Identifies MAC address vendors
- Port Enumeration: Tests 15 common ports per host
- Service Detection: Identifies services from open ports
- OS Detection: Analyzes TTL values and port signatures
- Risk Assessment: Calculates host risk scores
- Alert Generation: Flags security issues
- Solution: Run with administrator/root privileges
- Check that Npcap is installed (Windows)
- Verify correct network range (e.g.,
192.168.1.0/24)
- Solution: Close the app and restart with admin privileges
- Check if Windows Firewall is blocking network operations
- Reduce
THREAD_POOL_SIZEin config.ini
- Increase
PORT_SCAN_TIMEOUTin config.ini - Check if target host is reachable (ping test first)
- Reinstall:
pip install --force-reinstall scapy==2.5.0 - Ensure Npcap is installed (Windows)
- Check Python version >= 3.7
Logs are stored in the logs/ directory. Enable verbose logging in config.ini:
LOG_LEVEL=DEBUG
LOG_FILE=logs/scanner.logContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is intended for network administration and security testing on networks you own or have permission to scan. Unauthorized network scanning may be illegal in your jurisdiction. The author takes no responsibility for misuse or damage caused by this tool.
For issues, questions, or suggestions:
- Open an Issue
- Contact the maintainer
Made with β€οΈ for system administrators and security enthusiasts