Skip to content

All-in-one CLI security scanner: port scanning, web security, subdomain enumeration, network monitoring. Multi-threaded, cross-platform.

License

Notifications You must be signed in to change notification settings

kalachbeg/NetShark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”’ NetShark - Multi-Purpose Security Scanner

πŸ“– About

NetShark is a comprehensive command-line security scanning tool that combines multiple security analysis capabilities into a single, easy-to-use interface. Whether you're performing penetration testing, security audits, or learning about cybersecurity, NetShark provides the tools you need.

🎯 Why NetShark?

  • πŸš€ Fast & Efficient - Multi-threaded scanning for quick results
  • 🎨 Beautiful CLI - Colorful output with real-time progress indicators
  • πŸ”§ Easy to Use - Simple commands, powerful results
  • πŸ“¦ All-in-One - No need for multiple tools
  • πŸ› οΈ Extensible - Modular architecture for easy customization
  • πŸ“Š Multiple Formats - Export results as JSON, CSV, or TXT

✨ Features

πŸ” Port Scanner

  • Fast TCP/UDP port scanning
  • Service detection & banner grabbing
  • Multi-threaded for speed
  • Custom port ranges

🌐 Web Security Analyzer

  • SSL/TLS certificate analysis
  • Security headers checking
  • Security score calculation
  • Detailed vulnerability reports

πŸ”Ž Subdomain Enumeration

  • DNS-based discovery
  • Custom wordlist support
  • Multi-threaded enumeration
  • Fast & efficient

πŸ“Š Network Monitor

  • Real-time traffic monitoring
  • Packet capture & analysis
  • BPF filter support
  • Cross-platform compatible

🎨 Additional Features

  • ✨ Beautiful CLI - Colorful terminal output with progress indicators
  • πŸ“ Multiple Export Formats - JSON, CSV, and TXT support
  • πŸ”„ Cross-Platform - Works on Windows, Linux, and macOS
  • ⚑ High Performance - Optimized for speed and efficiency
  • πŸ›‘οΈ Safe & Legal - Educational and authorized testing only

πŸš€ Quick Start

πŸ“₯ Installation

🐧 Linux / macOS
# Clone the repository
git clone https://github.com/kalachbeg/netshark.git
cd netshark

# Install dependencies
pip install -r requirements.txt

# Run NetShark
python netshark.py --help
πŸͺŸ Windows
# Clone the repository
git clone https://github.com/kalachbeg/netshark.git
cd netshark

# Install Python 3.7+ if not already installed
# Then install dependencies
pip install -r requirements.txt

# Run NetShark
python netshark.py --help

⚑ Quick Example

# Scan ports on a target
python netshark.py scan -t 192.168.1.1 -p 80,443,8080

# Analyze web security
python netshark.py web -u https://example.com

# Find subdomains
python netshark.py subdomain -d example.com

πŸ“– Usage Guide

πŸ” Port Scanning

Click to expand examples
# Scan common ports (1-1000)
python netshark.py scan -t 192.168.1.1

# Scan specific ports
python netshark.py scan -t example.com -p 80,443,8080

# Scan with banner grabbing
python netshark.py scan -t 192.168.1.1 -p 1-1000 --banner

# Scan UDP ports
python netshark.py scan -t 192.168.1.1 -p 53 -s udp

# Export results to JSON
python netshark.py scan -t 192.168.1.1 -o json -f results.json

🌐 Web Security Analysis

Click to expand examples
# Full web security analysis
python netshark.py web -u https://example.com

# SSL/TLS only
python netshark.py web -u https://example.com --ssl-only

# Export to CSV
python netshark.py web -u https://example.com -o csv -f security_report.csv

πŸ”Ž Subdomain Enumeration

Click to expand examples
# Basic enumeration
python netshark.py subdomain -d example.com

# With custom wordlist
python netshark.py subdomain -d example.com -w wordlist.txt

# With more threads (faster)
python netshark.py subdomain -d example.com -t 100

πŸ“Š Network Monitoring

Click to expand examples
# Monitor on default interface (Linux)
python netshark.py monitor -c 50

# Monitor specific interface
python netshark.py monitor -i eth0 -c 100

# With filter
python netshark.py monitor -f "tcp port 80" -c 50

Note: Network monitoring on Windows uses basic netstat functionality. For full packet capture, use Linux with scapy installed.

πŸ“‹ Command Reference

Global Options

  • --version - Show version information
  • --help - Show help message

Scan Command

python netshark.py scan [OPTIONS]

Options:
  -t, --target TEXT      Target IP address or hostname [required]
  -p, --ports TEXT       Port range (e.g., 1-1000, 80,443,8080) [default: 1-1000]
  -T, --timeout FLOAT    Connection timeout in seconds [default: 1.0]
  -s, --scan-type TEXT   Scan type: tcp, udp, or both [default: tcp]
  -o, --output TEXT      Output format: json, csv, or txt
  -f, --file TEXT        Output file path
  --banner               Grab service banners

Web Command

python netshark.py web [OPTIONS]

Options:
  -u, --url TEXT         Target URL [required]
  -o, --output TEXT      Output format: json, csv, or txt
  -f, --file TEXT        Output file path
  --ssl-only             Only check SSL/TLS configuration

Subdomain Command

python netshark.py subdomain [OPTIONS]

Options:
  -d, --domain TEXT      Target domain [required]
  -w, --wordlist TEXT    Custom wordlist file path
  -t, --threads INTEGER  Number of threads [default: 50]
  -o, --output TEXT      Output format: json, csv, or txt
  -f, --file TEXT        Output file path

Monitor Command

python netshark.py monitor [OPTIONS]

Options:
  -i, --interface TEXT   Network interface (e.g., eth0, wlan0)
  -c, --count INTEGER    Number of packets to capture [default: 100]
  -f, --filter TEXT      BPF filter (e.g., tcp port 80)
  -o, --output TEXT      Output format: json, csv, or txt
  --file TEXT            Output file path

🎯 Real-World Examples

πŸ”₯ Example 1: Quick Security Audit

# Perform a complete security check
python netshark.py web -u https://example.com -o json -f audit.json

πŸ”₯ Example 2: Network Discovery

# Scan common ports on a network
python netshark.py scan -t 192.168.1.1 -p 1-1000 --banner

πŸ”₯ Example 3: Subdomain Discovery Workflow

# Find all subdomains
python netshark.py subdomain -d example.com -t 100 -o txt -f subdomains.txt

# Then scan ports on discovered subdomains
# (Use subdomains.txt to iterate)

πŸ”₯ Example 4: Complete Security Assessment

# 1. Find subdomains
python netshark.py subdomain -d example.com -o json -f subs.json

# 2. Analyze web security for each subdomain
python netshark.py web -u https://www.example.com -o csv -f security.csv

# 3. Scan open ports
python netshark.py scan -t example.com -p 80,443,8080,8443

πŸ”§ Requirements

Component Version Description
Python 3.7+ Tested with 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
click β‰₯8.0.0 CLI framework
requests β‰₯2.28.0 HTTP library
dnspython β‰₯2.3.0 DNS operations
scapy β‰₯2.5.0 Network packet manipulation (Linux only, optional)

πŸ“ Project Structure

netshark/
β”œβ”€β”€ πŸ“„ netshark.py              # Main CLI entry point
β”œβ”€β”€ πŸ“‚ modules/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ πŸ” port_scanner.py     # Port scanning module
β”‚   β”œβ”€β”€ 🌐 web_security.py     # Web security analysis
β”‚   β”œβ”€β”€ πŸ”Ž subdomain_enum.py   # Subdomain enumeration
β”‚   └── πŸ“Š network_monitor.py  # Network monitoring
β”œβ”€β”€ πŸ“‚ utils/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ 🎨 colors.py           # Terminal colors
β”‚   └── πŸ“€ output.py           # Output formatting
β”œβ”€β”€ πŸ“‹ requirements.txt        # Python dependencies
β”œβ”€β”€ πŸ“„ LICENSE                 # MIT License
└── πŸ“– README.md              # This file

⚠️ Legal Disclaimer

This tool is for educational and authorized security testing purposes only.

  • Only scan systems you own or have explicit permission to test
  • Unauthorized scanning is illegal in many jurisdictions
  • The authors are not responsible for misuse of this tool
  • Always comply with local laws and regulations

🀝 Contributing

We welcome contributions! Here's how you can help:

  1. ⭐ Star the repository - Show your support!
  2. 🍴 Fork the project - Create your own copy
  3. 🌿 Create a branch - git checkout -b feature/AmazingFeature
  4. πŸ’Ύ Commit changes - git commit -m 'Add some AmazingFeature'
  5. πŸ“€ Push to branch - git push origin feature/AmazingFeature
  6. πŸ”„ Open a Pull Request - Let's discuss your changes!

🎯 Contribution Ideas

  • πŸ› Bug fixes
  • ✨ New features
  • πŸ“ Documentation improvements
  • 🎨 UI/UX enhancements
  • ⚑ Performance optimizations
  • πŸ§ͺ Test coverage

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • 🎯 Inspired by tools like Nmap, Masscan, and Subfinder
  • 🐍 Built with Python and the amazing open-source community
  • πŸ’‘ Thanks to all contributors and users!

πŸ“§ Support

Need help? Have questions? Found a bug?

GitHub Issues GitHub Discussions


⭐ Star this repo if you find it useful!

Made with ❀️ for the security community

About

All-in-one CLI security scanner: port scanning, web security, subdomain enumeration, network monitoring. Multi-threaded, cross-platform.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages