Skip to main content

IPv4 address scanner for collecting address information.Scan or get the IPv4 address from the IPv6 host

Project description

🐍 SnakeScan: A Robust Python Port Scanner

A versatile and efficient Python library designed for comprehensive network port scanning.

PyPI

MIT License

Python 3.7+

Status: Stable

SnakeScan provides a flexible and powerful solution for network administrators, security professionals, and developers requiring reliable port scanning capabilities. From basic port verification to advanced, multi-threaded subnet analysis, SnakeScan delivers the tools necessary for effective network assessment.

⚙️ Key Features:

  • Flexible Port Specification: Define target ports as single values, ranges, or through pre-configured sets.
  • Multi-Threaded Architecture: Accelerate scanning operations with parallel processing for rapid analysis.
  • IP Information Retrieval: Obtain detailed information about target IP addresses, supporting both IPv4 and IPv6.
  • Real-time Port Monitoring: Utilize the Watcher class for continuous monitoring of critical port statuses.
  • Concise Command-Line Interface & API: Integrate SnakeScan seamlessly into workflows via CLI or programmatic access.
  • UDP Port Scanning: Native support for scanning UDP ports.
  • JSON Port Definitions: Load port definitions from JSON files for organized and reusable configurations.

⬇️ Installation:

Install SnakeScan using pip:

bash pip install SnakeScan

⌨️ Command Line Usage:

💡 Attribute Reference:

  • -p: Specify target ports for scanning (single port or range). Note: Range specifications exclude the lower bound на первом entry. Example: To scan from port 80 to 443, define the range as 79-443. Examples: snake -p 80,443 или snake -p 80,3437,8080,20-30,79-443

  • -u: Enable UDP port scanning. Example: snake -p 53 -u

  • -h: Display the complete list of available command-line attributes and their descriptions. Example: snake -h or snake -help

  • -sp: Initiate a scan using a predefined set of common ports with ProcessPoolExecutor. Example: snake -sp

  • -v: Display the current version of the SnakeScan library. Example: snake -v

  • -gs: Retrieve the SSL/TLS certificate from a specified web server. Example: snake www.google.com -gs (Requires a valid hostname to avoid connection errors.)

  • -t: Enable multi-threading for enhanced scan performance. Example: snake -t

  • -ch: Scan a subnet to discover active IP addresses on the network. Example: snake -ch

  • -l: Display your public IP address (requires an active internet connection). Example: snake -l

  • -i: Show detailed information about a specific IP address (supports both IPv4 and IPv6). Example: snake www.google.com -i

  • -d: Specify the path to a JSON file containing TCP port definitions, and optionally the path to a second JSON file containing UDP port definitions. Note: When using this argument, the paths to the JSON files must be provided with each execution of the command, separated by a comma.

    Example: snake -d /path/to/tcp_ports.json,/path/to/udp_ports.json (if you want to specify both TCP and UDP, if only TCP: snake -d /path/to/tcp_ports.json)

    JSON File Format: The JSON file should be formatted as a dictionary where the keys are the port numbers (as strings) and the values are the corresponding service names or descriptions.

    {
        "53": "DNS",
        "80": "HTTP",
        "443": "HTTPS"
    }
    

💻 Python Code Integration:

⏱️ Watcher Class: Real-Time Port Status

The Watcher class enables continuous monitoring of a specified port.

python from SnakeScan import Watcher

watcher = Watcher("localhost", 53, 2) # Host, port, check interval (in seconds) watcher.start() # Begin monitoring!

Watcher Methods:

  • Watcher.start() - Initiate the port monitoring process.
  • Watcher.stop() - Terminate the port monitoring process.

Latest Update: 1.8.0 (Minor bug fixes and JSON port definition)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snakescan-1.8.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snakescan-1.8.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file snakescan-1.8.0.tar.gz.

File metadata

  • Download URL: snakescan-1.8.0.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for snakescan-1.8.0.tar.gz
Algorithm Hash digest
SHA256 3cd20b3d295eb677edbcbe469b9dc04b71997fb40d8b57ee9d87f0b70870f755
MD5 c5ee04642a211e3c2a43590353a25bd1
BLAKE2b-256 3acfca5b1d7cdaa542dbf8d021f321e618f3e3916749e15fbedf879922cd6663

See more details on using hashes here.

File details

Details for the file snakescan-1.8.0-py3-none-any.whl.

File metadata

  • Download URL: snakescan-1.8.0-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for snakescan-1.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6282df3e97602b71bc0bd831349c214121baa32a93d3d6eca2ae666258cbeb19
MD5 f3489eb3b7f1e06474495c27406aa480
BLAKE2b-256 9a086ccdc7ac5dd590ba9cc8176d9833b5b31c2d3548f8c6b7a5da4c37c96ff9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page