Add your description here
Project description
nadzoring
An open source tool for detecting website blocks, downdetecting and network analysis
Explore the docs »
Getting Started
·
Basic Usage
·
Documentation
·
License
Nadzoring (from Russian "надзор" - supervision/oversight + English "-ing" suffix) is a FOSS (Free and Open Source Software) command-line tool for detecting website blocks, monitoring service availability, and network analysis. It helps you investigate network connectivity issues, check if websites are accessible, and analyze network configurations.
📋 Table of Contents
- nadzoring
🚀 Installation
pip install nadzoring
💻 Usage
Nadzoring uses a hierarchical command structure. All commands support common global options for output formatting and logging.
Global Options
These options are available for all commands:
| Option | Short | Description | Default |
|---|---|---|---|
--verbose |
-v |
Enable verbose output | False |
--quiet |
-q |
Suppress non-error output | False |
--no-color |
- | Disable colored output | False |
--output |
-o |
Output format (table, json, csv) |
table |
--save |
- | Save results to file (provide filename) | None |
Commands
Network Base Commands
The network-base group contains commands for basic network operations.
ping-address
Ping one or more addresses to check if they're reachable.
Syntax:
nadzoring network-base ping-address [OPTIONS] ADDRESSES...
Arguments:
ADDRESSES...- One or more IP addresses or hostnames to ping (required)
Default behavior:
- Returns a table with columns:
AddressandIsPinged - "yes" (green) = host is reachable
- "no" (red) = host is unreachable
Examples:
# Ping a single address
nadzoring network-base ping-address 8.8.8.8
# Ping multiple addresses
nadzoring network-base ping-address google.com cloudflare.com 1.1.1.1
# Ping with JSON output
nadzoring network-base ping-address -o json github.com
# Ping and save results
nadzoring network-base ping-address -o csv --save results.csv 8.8.8.8 1.1.1.1
get-network-params
Display detailed network configuration parameters of your system.
Syntax:
nadzoring network-base get-network-params [OPTIONS]
Default behavior:
- Returns a table with network interface information, IP addresses, and other network parameters
Examples:
# Basic network params display
nadzoring network-base get-network-params
# Get network params in JSON format
nadzoring network-base get-network-params -o json
# Save network params to file with verbose logging
nadzoring network-base get-network-params -v --save network_config.json
get-ip-by-hostname
Resolve hostnames to IP addresses and check IPv4/IPv6 availability.
Syntax:
nadzoring network-base get-ip-by-hostname [OPTIONS] HOSTNAMES...
Arguments:
HOSTNAMES...- One or more domain names to resolve (required)
Output columns:
Hostname- The original hostnameIP Address- Resolved IP addressIPv4 Check- "passed"/"failed" for IPv4 connectivityIPv6 Check- "passed"/"failed" for IPv6 connectivityRouter IPv4- Your router's IPv4 address (or "Not found")Router IPv6- Your router's IPv6 address (or "Not found")
Examples:
# Resolve a single hostname
nadzoring network-base get-ip-by-hostname google.com
# Resolve multiple hostnames
nadzoring network-base get-ip-by-hostname google.com github.com stackoverflow.com
# Quiet mode - only show results
nadzoring network-base get-ip-by-hostname -q example.com
# Save results as CSV
nadzoring network-base get-ip-by-hostname --save dns_results.csv google.com cloudflare.com
get-service-by-port
Identify which service typically runs on specified ports.
Syntax:
nadzoring network-base get-service-by-port [OPTIONS] PORTS...
Arguments:
PORTS...- One or more port numbers to check (required)
Output columns:
port- The port numberservice- Service name (or "Unknown" if not recognized)
Examples:
# Check common ports
nadzoring network-base get-service-by-port 80 443 22 53
# Check a range of ports (using shell expansion)
nadzoring network-base get-service-by-port 20 21 22 23 25 80 443
# JSON output for programmatic use
nadzoring network-base get-service-by-port -o json 3306 5432 27017
# Save service information
nadzoring network-base get-service-by-port --save services.csv 80 443 22 3389
📊 Output Formats
Nadzoring supports three output formats controlled by the -o/--output flag:
Table Format (default)
┌─────────────┬────────────┐
│ Address │ IsPinged │
├─────────────┼────────────┤
│ 8.8.8.8 │ yes │
│ 1.1.1.1 │ yes │
│ unreachable │ no │
└─────────────┴────────────┘
JSON Format
[
{
"Address": "8.8.8.8",
"IsPinged": "yes"
},
{
"Address": "1.1.1.1",
"IsPinged": "yes"
}
]
CSV Format
Address,IsPinged
8.8.8.8,yes
1.1.1.1,yes
💾 Saving Results
Use the --save option to save command output to a file. The format is determined by the -o/--output flag:
# Save as JSON
nadzoring network-base ping-address -o json --save ping_results.json 8.8.8.8
# Save as CSV
nadzoring network-base ping-address -o csv --save ping_results.csv 8.8.8.8
# Save as formatted table
nadzoring network-base ping-address -o table --save ping_results.txt 8.8.8.8
📝 Logging Levels
Nadzoring provides three logging modes:
- Normal mode (no flags): Shows command output and warnings
- Verbose mode (
-v/--verbose): Shows detailed execution information including timing - Quiet mode (
-q/--quiet): Suppresses all non-error output
🔍 Examples
Complete Network Diagnostics
# Run comprehensive network diagnostics
nadzoring network-base get-network-params -v
nadzoring network-base get-ip-by-hostname google.com cloudflare.com github.com
nadzoring network-base ping-address 8.8.8.8 1.1.1.1 google.com
nadzoring network-base get-service-by-port 80 443 22 53
Automated Monitoring Script
#!/bin/bash
# Check critical services and save results with timestamp
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
nadzoring network-base ping-address \
-o csv \
--save "ping_check_${TIMESTAMP}.csv" \
google.com cloudflare.com github.com
nadzoring network-base get-service-by-port \
-o json \
--save "services_${TIMESTAMP}.json" \
80 443 22 53 3306
Quick Website Block Check
# Check if a website might be blocked
nadzoring network-base get-ip-by-hostname example.com
nadzoring network-base ping-address example.com
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines. Key areas for contribution include:
- Additional test cases for thread-local scenarios
- Performance optimization proposals
- Extended version format support
- IDE integration plugins
License & Support
This project is licensed under GNU LGPL 2.1 License - see LICENSE. For commercial support and enterprise features, contact alexeev.dev@mail.ru.
Explore Documentation | Report Issue |
Copyright © 2025 Alexeev Bronislav. Distributed under GNU GPL v3 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nadzoring-0.1.1.tar.gz.
File metadata
- Download URL: nadzoring-0.1.1.tar.gz
- Upload date:
- Size: 129.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9e0b927960eb2d3d10c5a830a9a6ab6abbbd81f606459deceff59d54c12469b
|
|
| MD5 |
26e3988ed0e49337c4c2f2eed0dd8870
|
|
| BLAKE2b-256 |
a24a92d257c47e575f753ef6c13bdac8afcec20c6636ed09ae34d102b98d7224
|
File details
Details for the file nadzoring-0.1.1-py3-none-any.whl.
File metadata
- Download URL: nadzoring-0.1.1-py3-none-any.whl
- Upload date:
- Size: 26.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e048bfa0f5e92587c2be70d9097b45c58b839cb28cddf01fa6ddc1313e9af613
|
|
| MD5 |
b0c61750b1d6ade06e88c4a17998fa08
|
|
| BLAKE2b-256 |
e336b60a3a1f9c9352657df4b390ec5a7b4286893885fd8450be30bc4cbcbb6a
|