Network Analysis CLI/TUI tool — ping, traceroute, port scan, DNS, whois, speedtest
Project description
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
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
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 evolver_net_analyzer-1.0.0-py3-none-any.whl.
File metadata
- Download URL: evolver_net_analyzer-1.0.0-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f37751b0553ed1cae2f79619a5d213ae3f1f48db246d397422e16b4bbffed856
|
|
| MD5 |
59f8ddc8a6a62573a658c1b79407e139
|
|
| BLAKE2b-256 |
5e8f6491675b597baa0bcd4a33518f038645d8fd1867a2d13c4ffe5eabff8396
|