NetWatch is a networking and cybersecurity web application that captures, analyzes, and visualizes network traffic in real time. Built with Python, Flask, Scapy, SQLite, HTML, CSS, and JavaScript, it provides packet monitoring, protocol analysis, educational threat detection, and traffic visualization through a modern dashboard.
- Capture network packets in real time
- Start and stop packet capture
- Display:
- Timestamp
- Source IP
- Destination IP
- Protocol
- Source Port
- Destination Port
- Packet Length
Detect and classify:
- TCP
- UDP
- HTTP
- HTTPS
- DNS
- ICMP
- ARP
Display protocol statistics with charts.
Generate alerts for:
- High traffic from a single IP
- Possible port scanning activity
- Excessive ICMP requests
- Traffic on uncommon ports
Store every captured packet in SQLite.
Features include:
- Search
- Filter
- Sort
- Delete
- Export CSV
Display:
- Total Packets
- TCP Packets
- UDP Packets
- HTTP Packets
- DNS Packets
- ICMP Packets
- Recent Alerts
Visualize:
- Protocol Distribution
- Packets Over Time
- Top Source IPs
- Top Destination IPs
- Python
- Flask
- Scapy
- SQLite
- HTML5
- CSS3
- JavaScript
- Chart.js
NetWatch/
│
├── app.py
├── packet_capture.py
├── protocol_analyzer.py
├── threat_detector.py
├── database.py
├── models.py
├── requirements.txt
├── README.md
│
├── templates/
│ ├── index.html
│ ├── dashboard.html
│ ├── capture.html
│ ├── packets.html
│ ├── alerts.html
│ └── settings.html
│
├── static/
│ ├── css/
│ ├── js/
│ └── images/
│
└── database.db
Clone the repository
git clone https://github.com/yourusername/NetWatch.gitGo into the project
cd NetWatchInstall dependencies
pip install -r requirements.txtRun the application
python app.pyOpen
http://127.0.0.1:5000
- Open the Capture page.
- Select a network interface (if applicable).
- Click Start Capture.
- Observe packets arriving in real time.
Click Stop Capture to stop packet collection.
Navigate to Packet Logs to:
- Search
- Filter
- Export CSV
Monitor:
- Traffic statistics
- Protocol distribution
- Recent alerts
- Packet counts
Add screenshots inside:
screenshots/
├── home.png
├── dashboard.png
├── capture.png
├── packets.png
├── alerts.png
└── charts.png
- Live Packet Capture
- Protocol Analysis
- Packet Logging
- Educational Threat Detection
- Search & Filtering
- CSV Export
- Responsive Dashboard
- GeoIP location lookup
- WHOIS integration
- Live bandwidth monitoring
- Suspicious IP reputation lookup
- Email alerts
- Dark/Light theme
- PDF report generation
- Docker support
- User authentication
- Multi-interface monitoring
This project demonstrates:
- Computer Networking
- Packet Analysis
- Network Protocols
- Traffic Monitoring
- Threat Detection
- Data Visualization
- Flask Development
- SQLite Database Integration
NetWatch is intended for educational purposes and authorized network monitoring only.
Capture and analyze network traffic only on systems and networks that you own or have explicit permission to monitor.
Aashish S
Bachelor of Engineering (Computer Science)
Networking & Cybersecurity Enthusiast
Licensed under the MIT License.