Your network, rendered — not just measured.
شبکهتان را ببینید، نه فقط اندازه بگیرید.
هر مدیر شبکهای روزانه بارها از ابزارهایی مانند ping، traceroute، nslookup و openssl استفاده میکند. این ابزارها قدرتمندند، اما هر کدام خروجی، گزینهها و منطق متفاوتی دارند و تفسیر خروجی خام آنها، بهویژه در شرایط اضطراری، زمانبر است. xping با هدف رفع همین پراکندگی ساخته شده است.
در این مقاله، xping را معرفی میکنیم، قابلیتهای اصلی آن را بررسی میکنیم و توضیح میدهیم چرا میتواند جایگزین مناسبی برای مجموعهای از ابزارهای پراکنده در جعبهابزار روزانه شما باشد.
xping چیست؟
xping یک ابزار متنباز خط فرمان برای عیبیابی شبکه است که با زبان Python نوشته شده و تحت مجوز MIT منتشر میشود. این ابزار عملیات Ping، Traceroute، MTR، بررسی DNS، TLS، HTTP و Wi-Fi را در کنار یک «پزشک اتصال» (doctor) و یک داشبورد پایش زنده در اختیار شما قرار میدهد.
خروجی xping رنگی و خواناست، مشکلات را به زبان ساده توضیح میدهد و نتایج را میتوان با فرمتهای JSON، CSV یا Markdown خروجی گرفت. همچنین برای اجرا به دسترسی root نیاز ندارد و تنها به یک وابستگی کوچک متکی است.

قابلیتهای اصلی
۱. عیبیابی سریع اتصال
xping doctor: اتصال را مرحلهبهمرحله بررسی میکند؛ از اینترفیس شبکه و Default Gateway گرفته تا دسترسی به اینترنت، حل نام DNS، کیفیت اتصال، Captive Portal و در نهایت HTTPS/TLS همراه با بررسی ساعت سیستم. در پایان، یک جمعبندی به زبان ساده ارائه میدهد؛ مثلاً اینکه تأخیر بالا عمدتاً ناشی از تونل VPN است، نه شبکه محلی.xping health: بر اساس Packet Loss، تأخیر و Jitter، یک امتیاز سلامت شبکه از ۰ تا ۱۰۰ ارائه میکند.xping net: اینترفیسها، Gateway، سرورهای DNS، آیپی عمومی و اینکه آیا ترافیک از VPN عبور میکند یا خیر را نمایش میدهد.xping wifi: قدرت سیگنال، نویز، SNR و شلوغی کانال را گزارش میکند و راهکار پیشنهاد میدهد.
۲. پایش و گزارشگیری
xping monitor: داشبوردی زنده از همه چکهای تعریفشده، شامل وضعیت، تأخیر، نمودار روند و درصد Uptime. این قابلیت میتواند بهصورت سرویس پسزمینه نیز اجرا شود.- هشدارهای هوشمند: با گزینههای
--watchو--until-upیک بررسی تکرار میشود و هشدار دسکتاپ یا Webhook ارسال میکند. گزینه--fail-afterنیز تا چند خطای متوالی رخ ندهد، قطعی گزارش نمیکند؛ بنابراین یک اختلال لحظهای منجر به هشدار کاذب نمیشود. xping report: یک صفحه HTML مستقل از وضعیت Uptime تولید میکند که هیچ اسکریپت یا بارگذاری خارجی ندارد و برای ارائه گزارش هفتگی به مدیران بسیار مناسب است.
۳. بررسی سرویسها
xping http: کد وضعیت، ریدایرکتها و نمودار زمانی (Waterfall) مراحل DNS، اتصال TCP، Handshake TLS و پاسخ سرور را نمایش میدهد و هدرهای امنیتی مانند HSTS، CSP و X-Frame-Options را بررسی میکند.xping tlsوxping smtp: بررسی گواهیها و تاریخ انقضا، و بررسی سرورهای ایمیل بههمراه STARTTLS.xping dnscheck: رکوردهای SPF، DMARC، DKIM، DNSSEC، MX و NS را بررسی کرده و امتیاز سلامت DNS ارائه میکند؛ برای مثال، سیاستp=noneدر DMARC را با هشدار مشخص میکند.- دستورات
lookup،propagation،blocklistوwhoisنیز برای بررسیهای تکمیلی DNS در دسترس هستند.
۴. ردیابی مسیر و اسکن
xping traceوxping mtr: ردیابی مسیر با نمایش تأخیر هر Hop. گزینه--asnنام مالک AS را اضافه میکند و گزینه--tcpزمانی که فایروالها بستههای ICMP را مسدود میکنند، ردیابی را از طریق TCP انجام میدهد.- ابزارهای
tcp،udp،mtu،ntpوspeedtestبرای بررسی پورتها، کشف Path MTU، بررسی زمان و تست سرعت. portscan،sweepوipscanبرای اسکن پورت و کشف میزبانها در یک بازه آدرس.xping check: اجرای مجموعهای از چکها از روی یک فایل (TOML یا JSON) و بازگرداندن یک Exit Code واحد؛ ایدهآل برای اسکریپتها و CI.
چرا xping؟ مزایای کلیدی
- یک ابزار بهجای ده ابزار: همه دستورات سبک خروجی و Exit Code یکسانی دارند و رنگها در همه آنها معنای یکسانی دارند؛ سبز برای تأخیر زیر ۳۰ میلیثانیه و قرمز برای ۳۰۰ میلیثانیه و بیشتر.
- توضیح به زبان ساده: بهجای خروجی خام، xping میگوید مشکل کجاست و چه باید کرد.
- بدون نیاز به root: Ping، Trace و MTR در لینوکس و macOS از سوکتهای ICMP بدون دسترسی ویژه استفاده میکنند و در صورت نبود آنها، به ابزارهای سیستم بازمیگردند.
- سبک و قابلحمل: فقط به Python 3.10 به بالا و کتابخانه
certifiنیاز دارد و هیچ افزونه کامپایلشدهای ندارد. روی لینوکس، macOS و ویندوز اجرا میشود. - مناسب اتوماسیون: خروجی JSON/CSV/Markdown و Exit Codeهای استاندارد (۰ موفق، ۱ ناموفق، ۲ استفاده نادرست) امکان استفاده در اسکریپتها و پایپلاینها را فراهم میکند.
- شفافیت در حریم خصوصی: قابلیتهایی که دادهای به سرویسهای خارجی ارسال میکنند، مانند
--asn، بهصورت اختیاری فعال میشوند و در مستندات بهروشنی معرفی شدهاند.
نصب
xping از طریق مدیرهای بسته رایج در دسترس است:
macOS (Homebrew):
brew install mehaskari/tap/xping
Ubuntu 24.04 (PPA):
sudo add-apt-repository ppa:mehdiaskari/xping
sudo apt update
sudo apt install xping
Fedora / EPEL 10 (COPR):
sudo dnf copr enable mehaskari/xping
sudo dnf install xping
ویندوز و سایر سیستمها (PyPI):
pipx install xping
xping completion --install
بسته Snap نیز با دستور sudo snap install xping قابل نصب است.
اولین قدمها
# بررسی کامل وضعیت اتصال اینترنت
xping doctor
# پینگ یک میزبان و دریافت پیشنهاد برای قدم بعدی
xping 1.1.1.1
# ردیابی مسیر با نمایش نام AS
xping trace 1.1.1.1 --asn
# ساخت فایل چک اختصاصی
xping check --init
# گزارش هفتگی HTML
xping report --since 7d --compare -o weekly.html
جمعبندی
xping تلاش میکند عیبیابی شبکه را از یک فرایند پراکنده و مبتنی بر خروجیهای خام، به تجربهای منسجم، خوانا و قابلاتکا تبدیل کند. چه مدیر شبکه باشید و چه توسعهدهندهای که میخواهد بداند «مشکل از شبکه است یا از سرور؟»، xping میتواند پاسخ را سریعتر در اختیارتان بگذارد.
این پروژه متنباز است و از گزارش مشکل، پیشنهاد و مشارکت شما استقبال میشود.
[…] معرفی xping؛ ابزار متنباز عیبیابی شبکه در ترمینال […]
[…] معرفی xping؛ ابزار متنباز عیبیابی شبکه در ترمینال […]