Skip to main content

NetCheck-CLI

A high-performance, asynchronous digital identity validation and network endpoint auditing tool engineered in Python.

Python Version License Architecture

📋 Description

NetCheck-CLI is a modular command-line utility designed for Security Engineers, Penetration Testers, and Site Reliability Engineers (SREs). It optimizes the discovery and auditing of digital footprints across enterprise systems, developer registries, and cloud infrastructure.

Traditional footprinting and status-checking tools execute requests sequentially, spending significant CPU idle time waiting for network I/O operations to resolve. NetCheck-CLI solves this bottleneck by utilizing Python's asyncio framework and aiohttp client engine to achieve non-blocking concurrency over a single-threaded architecture. This cuts execution windows down from minutes to seconds under scale.


🛠️ Core Features

  • Asynchronous Concurrency: Leverages a single-threaded Event Loop to manage hundreds of parallel network requests efficiently, eliminating thread context-switching overhead.
  • Persistent Connection Pooling: Instantiates a unified aiohttp.ClientSession connection pool, preserving TCP sockets and mitigating the overhead of repeated TCP 3-way handshakes and TLS negotiations.
  • Strict Separation of Concerns (SoC): Decouples target signature definitions entirely from execution logic using an external JSON configuration layer for seamless, zero-code target expanding.
  • Resilient Fault Isolation: Encapsulates network exception handlers directly within individual execution workers, preventing localized connection drops or timeouts from halting the global queue.
  • Structured Telemetry Logs: Generates highly deterministic, machine-readable JSON reports mapping aggregate performance statistics alongside detailed response criteria for downstream SIEM integration.
  • Cross-Platform UX: Styled with cross-platform terminal auto-reset escape codes using colorama for unified formatting on both Windows PowerShell and Linux terminals.

📐 Architectural Design

[CLI Flags: --target / --output]
               │
               ▼
 [Parse JSON Target Registry]
               │
               ▼
  [Async Event Loop Initiated]
               │
 ┌─────────────┼─────────────┐
 ▼             ▼             ▼
[Worker Task] [Worker Task] [Worker Task]  <-- Managed concurrently by Event Loop
│             │             │
└─────────────┼─────────────┘
              ▼
 [Data Aggregator Module]
            │
  ┌─────────┴─────────┐
  ▼                   ▼
[Terminal UI Log]   [Structured JSON Export]

🚀 Installation & Setup

Prerequisites

  • Python 3.8 or higher
  • Git

1. Clone the Repository

git clone https://github.com/dhruvrathod68/NetCheck-CLI.git

cd NetCheck-CLI

2. Environment Isolation & Package Setup

On Windows (PowerShell):

# Initialize virtual environment
python -m venv venv

# Activate virtual environment
.\venv\Scripts\Activate.ps1

# Install package in editable development mode
pip install -e .

On Linux / Kali Linux (Bash):

# Initialize virtual environment
python3 -m venv venv

# Activate virtual environment
source venv/bin/activate

# Install package in editable development mode
pip install -e .

💻 Usage & Examples

The tool evaluates targets by reading signatures from config/endpoints.json and injecting runtime target values into string placeholder paths dynamically. Once installed, invoke using netcheckcli (or the shortcut netcheck).

Basic Application Execution

Run a validation check against the default endpoint registry and export logs to the default results.json matrix:

netcheckcli --target "developer_handle"

Custom Document Report Redirection

Target a specific system identifier and route the production JSON telemetry matrix directly to a custom file path:

netcheckcli --target "audit-target-handle" --output telemetry_report.json

Extending Target Databases

To add target networks without altering the source code, append entries directly to the database file at config/endpoints.json:

{
  "name": "Custom_Platform_Service",
  "url": "https://api.example.com/users/{}",
  "validation_type": "status_code",
  "expected_value": 200
}

📂 Project Directory Structure

NetCheck-CLI/
│
├── config/
│   └── endpoints.json       # Decoupled Target Data Layer
├── main.py                  # Core Asynchronous Execution Loop & CLI Entrypoint
├── requirements.txt         # Pinned Package Metadata Dependency List
├── setup.py                 # Setuptools Package Configuration & Console Scripts
├── LICENSE                  # MIT Operational License
└── README.md                # Enterprise Documentation Module

🤝 Contributing

Contributions are highly valued for optimizing throughput and expansion. For sweeping architecture updates, please open an execution issue first to discuss structural modifications.

  1. Fork the Repository
  2. Instantiate a Feature Branch (git checkout -b feature/Optimization)
  3. Commit Changes (git commit -m 'Optimized event loop chunk management')
  4. Push to the Branch (git push origin feature/Optimization)
  5. Open a Pull Request

📜 License

Distributed under the MIT License. See LICENSE for further operational legal documentation.

Metadata

Release files for netcheck-osint 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netcheck-osint 0.1.2
File Size Uploaded
netcheck_osint-0.1.2.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netcheck-osint 0.1.2
File Interpreter ABI Platform
netcheck_osint-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 18.4 kB

Release files / netcheck_osint-0.1.2.tar.gz

Download URL netcheck_osint-0.1.2.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4098e8f211f3aeff5e9e923939d4644cc7a461fa225c6615da4a2700ab82da7f
BLAKE2b-256 checksum
How to use checksums
638d8e151c4ef01e6db244fed862df409d65dfcc032d1a6537b52beb10d27505
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release files / netcheck_osint-0.1.2-py3-none-any.whl

Download URL netcheck_osint-0.1.2-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
82b6a883589ad091cf2a4c9402d8184d5fb95105da56c58ce808b9a836656cc8
BLAKE2b-256 checksum
How to use checksums
56e2a74a60af04c246f0bd69d52dbe36b1ef9186333125bd6d420f35657d4a98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.3

Release history Release notifications | RSS feed

0.1.4

2 release files

0.1.3

2 release files

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page