Skip to content

aImErYbArRaUlT/network-scanner

Repository files navigation

Network Scanner

Network discovery and port scanning tool for authorized security testing.

Overview

Network Scanner provides TCP port scanning and network host discovery capabilities for authorized security testing, penetration testing, and network administration. The tool implements responsible scanning practices including rate limiting, audit logging, and authorization controls.

This tool is designed for security professionals, network administrators, and authorized penetration testers who need reliable network reconnaissance capabilities with built-in safety controls.

Key capabilities include TCP port enumeration, service detection, banner grabbing, ICMP-based host discovery, and flexible output formatting for integration with security workflows.

Features

  • TCP port scanning with configurable timeout and rate limiting
  • Service detection for common ports (HTTP, SSH, FTP, etc.)
  • Optional banner grabbing for service fingerprinting
  • Network host discovery using ICMP ping and TCP probes
  • Hostname resolution for discovered hosts
  • Multiple output formats (text, JSON, CSV) for tool integration
  • Built-in audit logging for all scan operations
  • Port range specification (single ports, ranges, comma-separated lists)
  • Authorization warnings and responsible use controls
  • Zero external dependencies (Python stdlib only)

Requirements

  • Python 3.11 or higher
  • Network access to target systems
  • Appropriate permissions for network operations
  • Written authorization for target networks

Installation

From Source

git clone https://github.com/aImErYbArRaUlT/network-scanner.git
cd network-scanner
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e .

Usage

Port Scanning

# Scan common ports on a host
network-scanner scan 192.168.1.1

# Scan specific port range
network-scanner scan 192.168.1.1 -p 1-1000

# Scan specific ports with banner grabbing
network-scanner scan example.com -p 80,443,8080 -b

# JSON output with custom rate limit
network-scanner scan 192.168.1.1 -p common -r 5 --format json

Network Discovery

# Discover hosts in a network
network-scanner discover 192.168.1.0/24

# With hostname resolution
network-scanner discover 192.168.1.0/24 -n

# CSV output to file
network-scanner discover 10.0.0.0/24 --format csv -o hosts.csv

Security Considerations

This tool must only be used on networks where you have explicit written authorization. Unauthorized network scanning may violate computer fraud and abuse laws.

See SECURITY.md for complete security policy and best practices.

License

MIT License - see LICENSE file for details.

Author

Aimery Barrault

About

Python tool for network discovery and port scanning. Supports CIDR ranges, configurable timeouts, and outputs results in JSON or table format. Built with proper authorization checks since this is meant for legitimate security assessments only.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors