Zero dependencies · Linux · macOS · Windows

Your network,
rendered — not just measured.

xping turns ping, traceroute, DNS, TLS and port scans into live, colour-coded terminal output — pure Python stdlib, no third-party packages, one binary to reach for.

$ pipx install xping
< 50ms 50–150ms loss / timeout
xping ping cloudflare.com

What it does

Five ways to look at a network

Every command shares the same rendering language — the same colours mean the same thing whether you're watching one ping or sweeping a /24.

Live

Watch it happen

  • Ping with animated latency bars, spinner & sparkline
  • --watch mode, redraws in place
  • Traceroute with per-hop RTT colour
  • MTR — live trace + per-hop ping combined
Discover

Find what's out there

  • IP scan across CIDR blocks or ranges
  • IP sweep for open TCP services
  • Concurrent port scanner with service names
Inspect

Ask a host about itself

  • DNS lookup — A / AAAA / MX / NS / TXT
  • Reverse DNS with resolver fallback
  • TLS certificate, expiry & cipher inspector
  • HTTP status, headers, TTFB & redirects
  • WHOIS via port 43, RDAP fallback
Diagnose

Get a verdict

  • Network Health Score, 0–100
  • Path MTU discovery via binary search
  • TCP connect timing & success rate
  • Saved profiles & JSON / CSV / Markdown export

In the terminal

Same tool, six different questions

A sample of what each command prints. Every diagnostic also takes --json, --csv or --markdown for scripts and reports.

$ xping ping 1.1.1.1 -c 5

PING 1.1.1.1 · 5 packets
 
seq 1 12.4ms
seq 2 11.8ms
seq 3 86.2ms
seq 4 13.1ms
seq 5 12.9ms
 
sparkline ▂▂▆▂▂
 
min/avg/max/jitter = 11.8 / 27.3 / 86.2 / 12.4 ms · loss 0%

$ xping trace example.com --max-hops 8

hop 1 10.0.0.1 1.2ms
hop 2 172.16.4.1 4.6ms
hop 3 isp-core.net 58.1ms
hop 4 * * * request timed out
hop 5 edge-04.net 61.4ms
hop 6 example.com 33.9ms destination reached

$ xping health google.com -c 16

DNS resolve 18ms
Packet loss 0%
Avg latency 14.2ms
Jitter 2.1ms
 
Network Health Score 96/100 — excellent

$ xping portscan 10.0.0.5 --ports 1-1024

22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp closed mysql
 
3 open · 1021 closed · scanned in 1.4s

$ xping whois cloudflare.com

Registrar CSC Corporate Domains
Created 1995-02-19
Expires 2027-02-18
Name servers ns3.cloudflare.com, ns4.cloudflare.com
source: port 43 · RDAP fallback not needed

$ xping tls github.com

Subject github.com
Issuer DigiCert
Expires in 142 days
Cipher TLS_AES_128_GCM_SHA256
SANs github.com, www.github.com

Get it running

Pick your platform

No compiled extensions, no lockfile — xping runs on the Python standard library alone.

sudo add-apt-repository ppa:mehdiaskari/xping sudo apt update sudo apt install python3-xping

Supported: Ubuntu 22.04 / 24.04 LTS, Linux Mint 21+, Pop!_OS 22.04+

pipx install xping

Works on any platform with Python 3.10+. pip install xping also works if you prefer.

sudo snap install xping

Published straight from CI via release-snap.yml on every tagged release, so the Snap Store build always tracks the latest version.

  1. Clone the repository — git clone https://github.com/mehaskari/xping
  2. Enter the directory — cd xping
  3. Install — pip install .
  4. Optional: install the man page — sudo cp man/xping.1 /usr/share/man/man1/
yay -S python-xping
pipx install xping xping ping 1.1.1.1 xping trace cloudflare.com xping deps

TCP, port scan, sweep and DNS fallback work out of the box. xping deps shows install hints for ICMP tools via winget or chocolatey.

Raw sockets, without root

ICMP needs elevated privileges. Grant the capability once instead of running as root:

sudo setcap cap_net_raw+ep $(which xping)
MIT with mandatory attribution Pure Python stdlib · zero dependencies CI on 6 environments · PyPI · PPA · Snap