Skip to content

skizap/NetCrawler-v2.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NetCrawler v2.0

NetCrawler Banner

πŸ”’ ETHICAL DISCLAIMER

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.


✨ New in v2.0

πŸš€ Modern Architecture

  • 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

πŸ›‘οΈ Enhanced Security

  • Built-in authorization checks for target validation
  • Rate limiting and resource monitoring
  • Stealth scanning options for minimal footprint
  • Comprehensive audit logging for compliance

🎨 Modern GUI

  • 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)

πŸ” Advanced Discovery

  • 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

🎯 Use Cases

🏒 Network Administration

  • Asset discovery and inventory management
  • Network topology mapping
  • Unauthorized device detection
  • Security posture assessment

πŸ” Penetration Testing

  • Initial reconnaissance and enumeration
  • Attack surface identification
  • Service discovery and analysis
  • Vulnerability assessment preparation

πŸ“š Security Research

  • Network behavior analysis
  • Device fingerprinting research
  • Protocol and service analysis
  • Security control validation

πŸš€ Installation

Requirements

  • Python 3.8 or higher
  • Windows 10/11, Linux, or macOS
  • Administrator/root privileges (for some scan types)

Quick Setup

# 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

Dependencies

pip install customtkinter python-nmap netaddr getmac loguru psutil rich

πŸ’‘ Usage

GUI Mode (Default)

python main.py
  • Modern graphical interface with intuitive controls
  • Real-time scan progress and device discovery
  • Interactive device details and export options

Command Line Interface

# 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

Configuration Options

--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

πŸ”§ Scan Types

πŸƒ Ping Scan (Default)

  • Fast host discovery using ICMP echo requests
  • Minimal network impact and high speed
  • Best for initial network reconnaissance

πŸ“‘ ARP Scan

  • Local network discovery via ARP table analysis
  • Highly accurate for same-subnet devices
  • Works even when ICMP is blocked

🎯 TCP SYN Scan

  • Port discovery using TCP SYN packets
  • Service identification and banner grabbing
  • Comprehensive service enumeration

πŸ” Comprehensive Scan

  • Combines multiple discovery techniques
  • OS detection and service fingerprinting
  • Complete device profiling and analysis

πŸ“Š Features

πŸ” Discovery Capabilities

  • βœ… 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

πŸ›‘οΈ Security Features

  • βœ… Authorization validation for target ranges
  • βœ… Resource usage monitoring and limits
  • βœ… Rate limiting and throttling options
  • βœ… Stealth scanning capabilities
  • βœ… Comprehensive audit logging

πŸ“ˆ Output & Reporting

  • βœ… Real-time progress tracking
  • βœ… Live device discovery updates
  • βœ… Multiple export formats (JSON, CSV, TXT)
  • βœ… Detailed device information views
  • βœ… Scan statistics and success rates

βš™οΈ Configuration

  • βœ… Persistent configuration management
  • βœ… Command-line and GUI interfaces
  • βœ… Customizable scan parameters
  • βœ… Theme and appearance options
  • βœ… Logging level configuration

πŸ—οΈ Architecture

πŸ“ Project Structure

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

πŸ”§ Core Components

NetworkScanner

  • Asynchronous scanning engine with multiple discovery methods
  • Built-in security validation and resource monitoring
  • Configurable threading and rate limiting

Configuration Manager

  • JSON-based persistent configuration
  • Environment-specific settings and authorization
  • Logging and output management

Modern GUI

  • CustomTkinter-based interface with modern styling
  • Real-time updates and progress tracking
  • Comprehensive device information and export capabilities

πŸ”’ Security & Compliance

πŸ“‹ Authorization Requirements

  • 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

πŸ›‘οΈ Ethical Guidelines

  • 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

πŸ“ Audit & Logging

  • Comprehensive scan logging with timestamps
  • User action tracking and audit trails
  • Error logging and troubleshooting information
  • Configurable log levels and retention

🀝 Contributing

We welcome contributions to NetCrawler! Please follow these guidelines:

  1. Fork the repository and create a feature branch
  2. Follow coding standards with type hints and documentation
  3. Add tests for new functionality
  4. Update documentation for any changes
  5. Submit a pull request with detailed description

Development Setup

# 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/

πŸ“„ License

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.


πŸ™ Acknowledgments

  • 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

πŸ“ž Support


Remember: Use responsibly and only on authorized networks!

GitHub stars License Python Platform

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages