Real-time network topology visualization with a Ghost-map aesthetic for begginers in CS
π Live Network Scanning β’ π¨ Ghost Map UI β’ π Device Analytics β’ π‘οΈ Security Hardened
- π Continuous Monitoring - Start/Stop real-time network scanning with device persistence
- ποΈ Ghost Map Visualization - themed network topology using vis.js
- π― Active/Inactive Tracking - Devices remain on the map even after disconnection, marked as offline
- π Smart Device Detection - Automatic device type identification (router, desktop, mobile, server)
- π‘ Dual Scanning Modes:
- Scapy Mode - Advanced ARP scanning (requires root)
- System Mode - Fallback ping sweep + ARP table parsing (no dependencies)
- π¬ Deep Analysis - Nmap integration for OS detection and service scanning
- π Network Health Monitoring - Real-time quality scoring based on latency and device status
- πΎ Export Reports - Generate Markdown reports with full device inventory
- π¨ Pleasant Details - Data packet animations, pulsing nodes, radar sweep effects
- π Security First - Input validation, CSP headers, secure subprocess calls
- Python 3.9+
- macOS/Linux (Windows not tested)
- Optional:
nmapfor advanced scanning - VPN services must be disabled
# Clone the repository
git clone https://github.com/MakeStepanGreatAgain/web-visual--NET-VIS--ghost-map-protocol
cd web-visual--NET-VIS--ghost-map-protocol
# Install dependencies
pip3 install -r requirements.txt
# Run the application
python3 app.pyThe app will automatically detect your local IP and bind to it. Access the interface at:
http://192.168.X.X:5001
For full ARP scanning capabilities with Scapy:
sudo python3 app.py- Start Monitoring - Click
INITIATE_MONITORING()to begin continuous scanning - View Devices - Devices appear as nodes in the network graph
- Inspect Nodes - Click any device to view detailed information
- Advanced Scan - Use the Nmap button in device details for deep analysis
- Export Data - Click
EXPORT_LOGto download a Markdown report - Stop Monitoring - Click
TERMINATE_MONITORING()to pause scanning
- Active (Cyan/Green) - Currently online and responding
- Inactive (Gray + OFFLINE) - Previously seen but now disconnected
ghost-map/
βββ app.py # Flask server, API endpoints, continuous scanning logic
βββ scanner.py # Network scanning (Scapy/System fallback)
βββ templates/
β βββ index.html # Main UI template
βββ static/
β βββ css/
β β βββ style.css # Ghost Map aesthetic styling
β βββ js/
β βββ main.js # vis.js network graph, monitoring logic
βββ requirements.txt # Python dependencies
- Backend: Flask, Python 3.9+
- Scanning: Scapy (optional), ping, arp
- Frontend: Vanilla JavaScript, vis.js
- Styling: Custom CSS with animations
Default: 5 seconds (when monitoring is active)
Edit in app.py:
time.sleep(5) # Line 69Customize ports in scanner.py:
common_ports = {
22: 'SSH',
80: 'HTTP',
443: 'HTTPS',
# Add your ports here
}β
Input Validation - All user inputs sanitized using ipaddress library
β
Security Headers - CSP, X-Frame-Options, X-Content-Type-Options
β
Safe Subprocess Calls - List-based arguments prevent command injection
β
Minimal Attack Surface - No debug mode, no unnecessary endpoints
β
Local Binding - Binds to LAN IP by default (not 0.0.0.0)
This is normal! The app will use the system fallback scanner (ping + arp).
- Ensure you're on the same network subnet
- Try running with
sudofor better scanning - Check firewall settings
# Reinstall dependencies from source
pip3 uninstall -y netifaces
pip3 install --no-cache-dir --no-binary :all: netifaces- Add Docker support
- Implement device grouping/filtering
- Add historical device tracking
- Create REST API documentation
- Add unit tests
- Support for Windows
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- vis.js - Network visualization library
- Scapy - Packet manipulation library
- Flask - Python web framework
- Inspired by Ghost map // OSINT aesthetics and hacker culture
Made π by R4ggedy
β Star this repo if you find it useful!
