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

 
 
 

Contributors

Languages