net-analyzer
Network Analysis CLI/TUI Tool — ping, traceroute, port scan, DNS resolution, whois lookups, and speed tests, all from the terminal.
Features
- ping — ICMP echo request with statistics (raw ICMP or system ping fallback)
- trace — Traceroute via UDP probes with TTL stepping (raw socket or system fallback)
- scan — TCP connect port scan on 20 common ports (SSH, HTTP, HTTPS, MySQL, etc.)
- dns — DNS resolution showing A, AAAA records and canonical names
- whois — Domain whois lookup via raw TCP connection to whois servers
- speedtest — Download speed test using test files from speedtest.tele2.net
- all — Comprehensive run: DNS + ping + trace + scan + whois in one command
- TUI mode — Interactive curses-based menu interface (
--tui)
Installation
From source
# Clone or copy the project
cd net-analyzer
# Install in editable mode
pip install -e .
As a standalone script
python -m net_analyzer ping google.com
Usage
CLI Commands
# Ping a host (4 packets)
net-analyzer ping google.com
# Ping with custom count
net-analyzer ping google.com 10
# Traceroute
net-analyzer trace cloudflare.com
# Port scan (20 common ports)
net-analyzer scan localhost
# DNS resolution
net-analyzer dns github.com
# Whois lookup
net-analyzer whois example.com
# Speed test (download 10MB file)
net-analyzer speedtest
# Speed test with custom size (1MB, 10MB, 50MB, 100MB)
net-analyzer speedtest 50MB
# Run ALL network checks against a host
net-analyzer all example.com
# Show help
net-analyzer --help
TUI Mode
net-analyzer --tui
Navigate with arrow keys, press Enter to select, type target when prompted.
Examples
# Quick network diagnostics
$ net-analyzer all google.com
# Check if a web server is running
$ net-analyzer scan myserver.local
# Trace the route to a CDN
$ net-analyzer trace cloudflare.com
Requirements
- Python 3.8+
- No external dependencies (standard library only)
ping/traceroutesystem commands (optional — raw sockets used when available)
Performance Notes
- Raw ICMP ping and raw traceroute require root/Administrator permissions. If unavailable, the tool falls back to calling the system
ping/traceroutecommands. - Port scanning uses TCP connect (SYN-ACK) — no elevated privileges needed.
- Speedtest downloads a file from speedtest.tele2.net — internet connection required.
Project Structure
net-analyzer/
├── pyproject.toml
├── README.md
└── src/
└── net_analyzer/
├── __init__.py
├── __main__.py # Entry point
├── cli.py # All CLI commands + dispatch
└── tui.py # Curses TUI interface
License
MIT
Metadata
Release files for evolver-net-analyzer 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| evolver_net_analyzer-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / evolver_net_analyzer-1.0.0-py3-none-any.whl
| Download URL | evolver_net_analyzer-1.0.0-py3-none-any.whl |
|---|---|
| Size | 14.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f37751b0553ed1cae2f79619a5d213ae3f1f48db246d397422e16b4bbffed856
|
|
BLAKE2b-256 checksum How to use checksums |
5e8f6491675b597baa0bcd4a33518f038645d8fd1867a2d13c4ffe5eabff8396
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|