Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Sping 1.5.5 — a cross-platform network diagnostics CLI written in Rust

Дата публикации: 10-10-2026 01:02:45


I recently open-sourced Sping, a network diagnostics CLI I’ve been building in Rust.
It started from a very simple annoyance: when ping starts timing out, that’s usually when the actual troubleshooting begins. I would end up checking the gateway, another Internet target, the interface, packet loss and latency separately.
Sping tries to put that first layer of diagnosis in one place.
It continuously monitors the target together with gateway and WAN reachability, and combines that with RTT, jitter, packet loss, trends, spikes and network context.
A few implementation details that may be interesting to Rust folks:
Linux uses unprivileged ICMP DGRAM sockets with a RAW fallback, plus recvmsg for TTL/hop-limit and kernel receive timestamps.
macOS uses ICMP DGRAM sockets and handles ICMPv6 separately.
Windows uses IcmpSendEcho / Icmp6SendEcho2 through FFI instead of spawning the system ping.
Tokio handles the async runtime, while the actual ICMP probes are isolated from it.
IPv4 and IPv6 are both supported.
There is a stable NDJSON output for scripting and automation.
The latest 1.5.5 release was mostly driven by feedback after making the project public.
It added proper IPv6 link-local zone handling (fe80::...%interface), per-target network context in multi-target/batch mode, fixed an IPv6 cross-talk issue on macOS, moved Windows interface discovery to GetAdaptersAddresses, and improved DNS failover handling.
Distribution has also become a bit more serious: it is now on crates.io, macOS releases are signed/notarized, and GitHub release assets have build provenance attestations.
Install:
cargo install sping
or use the pre-built Linux/macOS/Windows binaries and Debian packages.
GitHub:

github.com




GitHub - LambdaBytes/sping: A modern, cross-platform ping with real-time...
A modern, cross-platform ping with real-time diagnostics, network context, quality scoring, and multi-target monitoring.






I’m particularly interested in feedback around the ICMP backends, IPv6 edge cases, multi-interface/VPN setups, and places where the diagnostics make the wrong call.
I’m also interested in code/architecture feedback from people doing systems or networking work in Rust.
1 post - 1 participant
Read full topic

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1AppNetPlotter — a Windows app for troubleshooting app connectivity,07.9811-10-2026
2FerroProve - C-to-Rust lifter emitting #![forbid(unsafe_code)] crates with a differential oracle015.5117-10-2026
3[Project] sol: A self-contained browser kernel written in Rust09.7618-10-2026
4I made a Vibe-Coded Reusable Application Runtime For Any Digital Domain (Office apps, Digital Painter, Graph nodes based apps..etc)017.8312-10-2026
5I wrote a small library for exclusive component filtering in bevy014.9313-10-2026
6Crossync - a super fast Rust concurrency library0813-10-2026
7Zaxis 0.0.5: immediate-mode GUI on wgpu, embeddable in a host's wgpu pass, with an real overlay layer for other processes010.211-10-2026
8I built an unsafe scanner alternative to Cargo Geiger08.8209-10-2026
9Считаем пакеты на Rust09.8704-07-2026
10[Перевод] Rust 1.97.0: манглинг символов, вывод линкера и поддержка запрета предупреждений в Cargo011.4314-07-2026

Классификация: . Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 9.19. Источник: users.rust-lang.org.