A network packet capture and analysis tool that detects operating systems and devices on a network using various fingerprinting methods.
- VLAN-aware packet capture
- Multiple OS detection methods:
- DHCP fingerprinting
- mDNS service detection
- SSDP (UPnP) device detection
- TCP SYN fingerprinting
- OUI (MAC address) analysis
- Persistent storage using LMDB
- Automatic cleanup of old entries
- Detailed logging
- Python 3.8+
- Scapy
- LMDB
- msgspec
- Clone the repository:
git clone https://github.com/yourusername/flood-os-detector.git cd flood-os-detector- Install dependencies:
uv pip install -r requirements.txtRun the packet capture with:
sudo /home/tsuruoka/.local/bin/uv run main.py <interface> [--clear-db]Example:
sudo /home/tsuruoka/.local/bin/uv run main.py eth0To clear the existing database and start fresh:
sudo /home/tsuruoka/.local/bin/uv run main.py eth0 --clear-dbmain.py- Main packet capture and analysis scriptanalyze.py- Analysis tools for captured datap0f_signatures.py- TCP SYN fingerprint signaturesmodels.py- Data models and structuresdocs/- Project documentationresults/- Analysis results and exports
Please read the development guidelines in docs/development/guidelines.md before contributing.
This project is licensed under the MIT License - see the LICENSE file for details.