Repository navigation
Home
Iyotee edited this page Aug 24, 2025
·
2 revisions
DHCP Monitor is a modern DHCP monitoring application that instantly reveals which IP address a DHCP server assigns to a newly connected device on the network. The application specializes in detecting and analyzing DHCP Option 50, allowing identification of malicious clients using fixed IP addresses.
- Automatic DHCP packet capture
- Instant detection of new connections
- Real-time network traffic analysis
- Analysis of specific IP requests
- Detection of malicious clients using fixed IPs
- Compliance audit of DHCP policies
- Network optimization based on usage patterns
- Responsive design with light/dark themes
- React 18 components with TypeScript
- Intuitive and professional interface
- Real-time graphs and statistics
- Windows: NSIS installer and portable version
- macOS: Native application and DMG
- Linux: AppImage and executable
- Download the latest release
- Run
DHCP Monitor Pro_1.1.37_x64-setup.exe - Launch with administrator privileges
- Download the AppImage
chmod +x DHCPMonitor-*.AppImage./DHCPMonitor-*.AppImage
- Node.js (v18+)
- Rust (v1.70+)
- Git
- Administrator/root privileges
# Clone the repository
git clone https://github.com/iyotee/DHCPMonitor.git
cd DHCPMonitor
# Automatic installation (recommended)
install.bat # Windows
./install.sh # Linux/macOS
# Or manually
npm install
cargo build# Launch script with administrator privileges
start.bat
# Or manually
npm run dev
npx @tauri-apps/cli dev# Launch script with root privileges
./start.sh
# Or manually
sudo npm run dev
sudo npx @tauri-apps/cli dev| Script | Description | Platform |
|---|---|---|
start.bat / start.sh
|
Launch with privileges | Windows/Linux |
build.bat / build.sh
|
Complete build with DLLs | Windows/Linux |
install.bat / install.sh
|
Automatic installation | Windows/Linux |
# Complete build with Npcap DLLs included
build.bat
# Installer generation
npx @tauri-apps/cli build --target msi# Application build
./build.sh
# AppImage generation
npx @tauri-apps/cli build --target appimage| Layer | Technology | Description |
|---|---|---|
| Frontend | React 18 + TypeScript | Modern user interface |
| Styling | Tailwind CSS | Responsive design system |
| Backend | Rust + Tauri | Native performance |
| Network | libpcap | Packet capture |
| Graphs | Recharts | Real-time visualizations |
| Icons | Lucide React | Modern icons |
DHCPMonitor/
├── 📁 src/ # Frontend React/TypeScript
│ ├── 📁 components/ # React components
│ │ ├── LogsView.tsx # Logs view
│ │ ├── NetworkView.tsx # Network view
│ │ ├── Option50View.tsx # Option 50 view
│ │ ├── PacketDetails.tsx # Packet details
│ │ └── SettingsView.tsx # Settings
│ ├── 📁 assets/ # Assets (logos, images)
│ ├── 📁 types/ # TypeScript types
│ └── App.tsx # Main application
├── 📁 src-tauri/ # Backend Rust/Tauri
│ ├── 📁 src/ # Rust code
│ │ ├── main.rs # Entry point
│ │ ├── dhcp_capture.rs # DHCP capture
│ │ └── network_interfaces.rs # Network interfaces
│ ├── 📁 icons/ # Application icons
│ ├── 📁 gen/ # Generated schemas
│ └── Cargo.toml # Rust dependencies
├── 📁 dist/ # Production build
├── 📄 package.json # Node.js dependencies
├── 📄 tauri.conf.json # Tauri configuration
└── 📄 README.md # Documentation
- LogsView: Real-time log display
- NetworkView: Network interface management
- Option50View: Option 50 filtering and analysis
- PacketDetails: Captured packet details
- SettingsView: Application configuration
- dhcp_capture.rs: DHCP capture and parsing
- network_interfaces.rs: Interface detection
- main.rs: Orchestration and communication
# Windows
# Run as administrator
# Right-click → "Run as administrator"
# Linux/macOS
sudo ./DHCPMonitor# Check privileges
# Windows: Run as administrator
# Linux: sudo
# Check interfaces
ipconfig # Windows
ifconfig # Linux/macOS- ✅ Check that interface is active
- ✅ Ensure there is DHCP traffic
- ✅ Check capture filters
- ✅ Restart the application
# Reinstall Npcap
# Download from https://npcap.com/
# Or use install.bat# Enable detailed logs
RUST_LOG=debug npm run tauri dev
# Specific logs
RUST_LOG=dhcp_capture=debug npm run tauri dev- Administrator/root privileges
- Active network interface
- DHCP traffic present
- Correct capture filters
- Npcap DLLs installed (Windows)
- libpcap installed (Linux)
We welcome all contributions! Here's how to participate:
- Fork the project
- Clone your fork
- Create a feature branch
- Commit your changes
- Push to your fork
- Open a Pull Request
- Code Style: Follow existing conventions
- Tests: Add tests for new features
- Documentation: Update documentation
- Commits: Clear and descriptive messages
- Check existing issues
- Create a new issue with:
- Detailed problem description
- Steps to reproduce
- System configuration
- Error logs
- Create an issue with "enhancement" label
- Describe the desired feature
- Explain the use case
- Propose an implementation
This project is licensed under the MIT License. See the LICENSE file for details.
MIT License
Copyright (c) 2024 DHCP Monitor
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
- Tauri - Cross-platform framework
- React - User interface
- libpcap - Network capture
- Recharts - Graphs
- Tailwind CSS - Styling
- Lucide React - Icons
DHCP Monitor - Option 50 Tracker
Modern and performant DHCP monitoring
⭐ Don't hesitate to give a star if this project is useful to you!