|
ARPEX is a network security project designed to monitor ARP activity on local networks.
The system continuously discovers devices, maintains an IP-to-MAC mapping baseline, observes ARP traffic in real time, verifies suspicious mapping changes, records security events, and stores packet captures (PCAP) for forensic analysis.
Unlike simple packet sniffers, ARPEX combines passive monitoring with active verification and incident tracking through a web-based dashboard.
- Device discovery using ARP scanning
- Real-time ARP packet monitoring
- Baseline IP → MAC mapping cache
- Detection of suspicious mapping changes
- Verification workflow to reduce false positives
- Device inventory with vendor information
- Online/offline presence monitoring
- Security event logging
- Attack and attacker tracking
- PCAP evidence capture and download
- SQLite-backed persistent storage
- Flask-powered monitoring dashboard
Displays:
- Device count
- Attack count
- Event count
- Recent activity feed
- High-level network overview
Shows discovered assets including:
- IP address
- MAC address
- Vendor
- Gateway status
- Online/offline state
Provides chronological visibility into:
- Device discovery
- Network anomalies
- Verification results
- Security notifications
Displays recorded incidents with:
- Attack ID
- Verification status
- Victim information
- Attacker information
- Timestamp
- Downloadable PCAP evidence
- Python
- Flask
- Scapy
- SQLite
- HTML
- CSS
- Jinja2
ARPEX/
│
├── arpex/
│ ├── detector.py
│ ├── database.py
│ ├── fingerprint.py
│ └── ...
│
├── dashboard/
│ ├── app.py
│ └── templates/
│
├── captures/
├── data/
├── main.py
└── requirements.txt
- Discover devices on the local network.
- Build an IP-to-MAC baseline.
- Continuously monitor ARP traffic.
- Detect unexpected mapping changes.
- Verify suspicious observations.
- Record events and attacks.
- Capture packet evidence for later analysis.
- Present findings through the dashboard.
git clone https://github.com/Shaivarth/ARPEX.git
cd ARPEX
pip install -r requirements.txt
python3 main.pyStart the dashboard:
python3 dashboard/app.py- ARPEX performs passive monitoring and verification of ARP activity on local networks.
- The project is intended for educational, research, and defensive security purposes.
- Dashboard screenshots included in this repository are captured from demonstration environments used to showcase the interface.
- Multi-threaded verification pipeline
- Email/Slack alerting
- SIEM integration
- Historical trend visualizations
- Exportable incident reports
- Multi-interface monitoring
- Enhanced attacker attribution
This project is released under the MIT License.





