Network Flow based Anomaly Detection App
- ICMP
- HTTP
- DNS
- Portscan
- Bruteforce(SSH and FTP)
- IGMP,PIM (multicast)
- Optional OSPF packet detection using Scapy
- Python 3.9+ (or your version)
- Linux (recommended, since the application requires
sudo. Windows might actively blocks packet capture) - pip
git clone https://github.com/HPE-CPP3-71/Flow-Sentinel.git
cd Flow-Sentinelpip install -r requirements.txtThe project uses the following major dependencies:
- customtkinter
- ntfstream
- joblib
- numpy
- pandas
- scikit-learn
- xgboost
- scapy (optional for OSPF detection)
Note: If
scapyis not installed, the application will still run, but OSPF rule-based detection will be disabled.
The application requires administrator privileges because it captures and analyzes network packets.
Run:
sudo python main.pyor, if your system uses Python 3:
sudo python3 main.pyFlow-Sentinel/
│
├── main.py # Entry point
├── backend/ # ML models, Feature Extraction and Predictions
├── core/ # Contains AppState, a thread-safe monitor object
├── frontend/ # GUI
├── requirements.txt
└── README.md
| Package | Purpose |
|---|---|
| customtkinter | GUI framework |
| ntfstream | Network flow extraction |
| numpy | Numerical computations |
| pandas | Data processing |
| scikit-learn | Machine learning models |
| xgboost | Gradient boosting model |
| joblib | Model serialization |
| scapy | Packet parsing (optional OSPF detection) |
- Root (
sudo) privileges are required for live packet capture. - Ensure your network interface is available and has the necessary permissions.
If packet capture fails, make sure you're running:
sudo python main.pyReinstall all packages:
pip install -r requirements.txtTry unistalling and reinstalling Libcap or Npcap libraries.