🔍 A powerful yet simple network scanner for discovering devices on your local network
- 🚀 Fast Network Discovery - Leverages nmap for efficient ping sweeps
- 💻 Dual Interface - Both CLI and GUI options available
- 📊 Device Tracking - Persistent storage with historical data
- 🔍 Smart Filtering - Search by MAC, IP, hostname, or manufacturer
- 📁 Multiple Export Formats - JSON and CSV support
- 🎯 Auto Network Detection - Intelligently finds your local network
- 🔔 Real-time Monitoring - Continuous scanning with customizable intervals
- 🎨 Modern GUI - Clean, intuitive interface with online/offline status
# From PyPI (recommended)
pip install simple-lan-scanner[cli]
# From source
git clone https://github.com/IBN5100-0/simple-lan-scanner.git
cd simple-lan-scanner
pip install -e .[cli]
- Python 3.10+
- nmap installed and in PATH
# Quick network scan
lan-scan scan
# Launch GUI
lan-scan gui
# Monitor network (updates every 30s)
lan-scan monitor
# Export results
lan-scan scan -o devices.json
Example output:
MAC Address | IP Address | Hostname | Manufacturer | First Seen | Last Seen
------------------------------------------------------------------------------------------------------------------------------------------------
XX:XX:XX:XX:XX:XX | 192.168.1.1 | router.local | Netgear Inc. | 2025-01-15 10:30 | 2025-01-15 14:45
YY:YY:YY:YY:YY:YY | 192.168.1.100 | laptop.local | Apple Inc. | 2025-01-15 10:30 | 2025-01-15 14:45
- 🟢 Green = Online (seen < 2 minutes ago)
- ⚪ Default = Offline
- Real-time device monitoring
- Search and filter capabilities
- Export to JSON/CSV
- Detailed device information
- Context menu for quick actions
# Scan specific network
lan-scan scan --network 192.168.1.0/24
# Monitor with filters
lan-scan monitor --online-only --search "apple"
# Custom scan interval
lan-scan monitor --interval 60 --json devices.json
from simple_scanner import NetworkMonitor
# Initialize scanner
monitor = NetworkMonitor()
# Scan network
monitor.scan()
# Get devices
devices = monitor.devices()
for device in devices:
print(f"{device.mac_address} - {device.ip_address}")
# Export results
monitor.export_json("scan_results.json")
- 📖 Full Documentation - Complete usage guide
- 💡 Examples - Code examples and use cases
- 🤝 Contributing - How to contribute
- 📝 Changelog - Version history
- 🔒 Security - Security policy
simple-lan-scanner/
├── src/simple_scanner/ # Core package
├── tests/ # Test suite
├── docs/ # Documentation
├── examples/ # Usage examples
└── .github/ # GitHub configuration
# Setup development environment
git clone https://github.com/IBN5100-0/simple-lan-scanner.git
cd simple-lan-scanner
pip install -e .[dev]
# Run tests
pytest
# Run with coverage
pytest --cov=simple_scanner
# Format code
black src/ tests/
We welcome contributions! Please see our Contributing Guide for details.
- IPv6 support
- Web interface
- Additional export formats
- Performance optimizations
- Documentation improvements
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by IBN5100-0