NetCheck-CLI
A high-performance, asynchronous digital identity validation and network endpoint auditing tool engineered in Python.
📋 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.ClientSessionconnection 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
coloramafor 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.
- Fork the Repository
- Instantiate a Feature Branch (
git checkout -b feature/Optimization) - Commit Changes (
git commit -m 'Optimized event loop chunk management') - Push to the Branch (
git push origin feature/Optimization) - 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.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netcheck_osint-0.1.3.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netcheck_osint-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.3 kB
Release files / netcheck_osint-0.1.3.tar.gz
| Download URL | netcheck_osint-0.1.3.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c86e7341e65fc159b70b661b9942f8c7ba428c690137fd4ed610455509baa2ba
|
|
BLAKE2b-256 checksum How to use checksums |
6f2eb2d7c61f84ae91509dd56fbe33c91c3932cce1a15450d96c55ccda879645
|
| 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.3-py3-none-any.whl
| Download URL | netcheck_osint-0.1.3-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b6d291be790eea568d5922f7d271dfbd16d1b55b41145aaf40c580cc4faa126b
|
|
BLAKE2b-256 checksum How to use checksums |
11f0860a3ba4d1e7c5745334e0ec7c9badaef4e0d8a23e7be6438f3511f9fc2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|