This tool is for authorized testing only. Misuse is prohibited.
NetCrawler v2.0 is a comprehensive network discovery and security assessment tool designed for authorized penetration testing, network administration, and security research within controlled environments.
- Asynchronous scanning with asyncio for improved performance
- Type-safe code with comprehensive type hints
- Modular design with clear separation of concerns
- Advanced error handling and logging with structured output
- Built-in authorization checks for target validation
- Rate limiting and resource monitoring
- Stealth scanning options for minimal footprint
- Comprehensive audit logging for compliance
- CustomTkinter interface with dark/light themes
- Real-time progress tracking with live updates
- Detailed device information with expandable views
- Export capabilities (JSON, CSV, TXT formats)
- Multiple scan types: Ping, ARP, TCP SYN, Comprehensive
- OS fingerprinting with confidence scoring
- Service detection and version identification
- Device type classification (Router, Server, IoT, etc.)
- Vendor identification via MAC address OUI lookup
- Asset discovery and inventory management
- Network topology mapping
- Unauthorized device detection
- Security posture assessment
- Initial reconnaissance and enumeration
- Attack surface identification
- Service discovery and analysis
- Vulnerability assessment preparation
- Network behavior analysis
- Device fingerprinting research
- Protocol and service analysis
- Security control validation
- Python 3.8 or higher
- Windows 10/11, Linux, or macOS
- Administrator/root privileges (for some scan types)
# Clone the repository
git clone https://github.com/your-repo/netcrawler.git
cd netcrawler
# Install dependencies
pip install -r requirements.txt
# Run NetCrawler
python main.py
pip install customtkinter python-nmap netaddr getmac loguru psutil rich
python main.py
- Modern graphical interface with intuitive controls
- Real-time scan progress and device discovery
- Interactive device details and export options
# Basic ping scan
python main.py --cli --target 192.168.1.0/24
# Comprehensive scan with OS detection
python main.py --cli --target 192.168.1.0/24 --scan-type comprehensive --os-detection
# High-performance scan with custom settings
python main.py --cli --target 10.0.0.0/24 --threads 100 --timeout 1.5 --output results.json
# Stealth scan with service detection
python main.py --cli --target 192.168.1.0/24 --scan-type tcp_syn --stealth --service-detection
--target RANGE # Target IP range (e.g., 192.168.1.0/24)
--scan-type TYPE # ping, arp, tcp_syn, comprehensive
--threads COUNT # Number of concurrent threads (1-500)
--timeout SECONDS # Connection timeout (0.1-30.0)
--os-detection # Enable OS fingerprinting
--service-detection # Enable service detection
--stealth # Enable stealth mode
--output FILE # Save results to file
--log-level LEVEL # DEBUG, INFO, WARNING, ERROR
- Fast host discovery using ICMP echo requests
- Minimal network impact and high speed
- Best for initial network reconnaissance
- Local network discovery via ARP table analysis
- Highly accurate for same-subnet devices
- Works even when ICMP is blocked
- Port discovery using TCP SYN packets
- Service identification and banner grabbing
- Comprehensive service enumeration
- Combines multiple discovery techniques
- OS detection and service fingerprinting
- Complete device profiling and analysis
- β Multi-threaded concurrent scanning
- β Cross-platform compatibility (Windows/Linux/macOS)
- β IPv4 network range support (CIDR notation)
- β MAC address vendor identification
- β Hostname resolution and reverse DNS
- β Response time measurement
- β Device type classification
- β Authorization validation for target ranges
- β Resource usage monitoring and limits
- β Rate limiting and throttling options
- β Stealth scanning capabilities
- β Comprehensive audit logging
- β Real-time progress tracking
- β Live device discovery updates
- β Multiple export formats (JSON, CSV, TXT)
- β Detailed device information views
- β Scan statistics and success rates
- β Persistent configuration management
- β Command-line and GUI interfaces
- β Customizable scan parameters
- β Theme and appearance options
- β Logging level configuration
netcrawler/
βββ src/
β βββ core/
β β βββ models.py # Data models and type definitions
β β βββ scanner.py # Core scanning engine
β β βββ config.py # Configuration management
β βββ gui/
β βββ main_window.py # Modern GUI interface
βββ config/
β βββ settings.json # Application configuration
βββ logs/ # Application logs
βββ results/ # Scan results output
βββ requirements.txt # Python dependencies
βββ main.py # Application entry point
βββ README.md # This file
- Asynchronous scanning engine with multiple discovery methods
- Built-in security validation and resource monitoring
- Configurable threading and rate limiting
- JSON-based persistent configuration
- Environment-specific settings and authorization
- Logging and output management
- CustomTkinter-based interface with modern styling
- Real-time updates and progress tracking
- Comprehensive device information and export capabilities
- Only private IP ranges are authorized by default
- Target validation against configured allow-lists
- Maximum scan target limits (10,000 hosts)
- Resource usage monitoring and limits
- Scan only networks you own or have explicit permission to test
- Use for legitimate security assessment purposes only
- Comply with all applicable laws and regulations
- Respect system resources and network stability
- Comprehensive scan logging with timestamps
- User action tracking and audit trails
- Error logging and troubleshooting information
- Configurable log levels and retention
We welcome contributions to NetCrawler! Please follow these guidelines:
- Fork the repository and create a feature branch
- Follow coding standards with type hints and documentation
- Add tests for new functionality
- Update documentation for any changes
- Submit a pull request with detailed description
# Clone your fork
git clone https://github.com/your-username/netcrawler.git
cd netcrawler
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Run tests
python -m pytest tests/
This project is licensed for Educational and Authorized Testing Use Only.
Important: This tool is designed for legitimate security testing and network administration within authorized environments. Users are responsible for ensuring compliance with all applicable laws and regulations.
- Original NetworkCrawler: This project is based on the original NetworkCrawler by @dustingrady
- NetCrawler v2.0: Modernized and enhanced by @skizap
- Python networking and security community
- Open source security tool developers
- CustomTkinter for modern GUI components
- Issues: GitHub Issues
- Documentation: Wiki
- Discussions: GitHub Discussions
Remember: Use responsibly and only on authorized networks!