Crates.io | ping |
lib.rs | ping |
version | 0.5.2 |
source | src |
created_at | 2017-09-17 09:06:32.023444 |
updated_at | 2024-02-24 09:40:07.570619 |
description | Simple and naive ping implementation in Rust. |
homepage | |
repository | https://github.com/aisk/rust-ping |
max_upload_size | |
id | 32031 |
size | 25,917 |
Ping function implemented in rust.
Sending an ICMP package should create a socket of type raw
on most platforms. And most of these platforms require special privileges. Basically, it needs to run with sudo on Linux to create a raw
socket.
These requirements introduce security risks, so on modern platforms, unprivileged ping
has been introduced, with socket type dgram
. So there are two mods in this crate, rawsock and dgramsock, which have the same function ping
. And the global ping function is just an alias for the rawsock::ping
. You can pick the one which is suitable for your use case.
For Linux users, although modern kernels support ping with dgram
, in some distributions (like Arch), it's disabled by default. More details: https://wiki.archlinux.org/title/sysctl#Allow_unprivileged_users_to_create_IPPROTO_ICMP_sockets
This library contains codes from https://github.com/knsd/tokio-ping, which is licensed under either of
And other codes is licensed under