8个版本 (4个重大更新)
0.5.9 |
|
---|---|
0.5.2 | 2024年2月24日 |
0.5.1 | 2023年11月30日 |
0.4.1 | 2023年3月30日 |
0.1.0 | 2017年9月17日 |
#388 在 网络编程
每月18,638次下载
在 6 个crate 中使用
12KB
290 行
rust ping
在rust中实现的ping函数。
数据报套接字和原始套接字
在大多数平台上,发送ICMP数据包应创建一个类型为raw
的套接字。并且大多数这些平台需要特殊权限。基本上,需要在Linux上以sudo运行来创建一个raw
套接字。
这些要求引入了安全风险,因此在现代平台上,已引入了无权限ping,套接字类型为dgram
。因此,在这个crate中有两个mod,rawsock和dgramsock,它们具有相同的函数ping
。全局ping函数只是rawsock::ping
的别名。您可以选择适合您用例的一个。
对于Linux用户,尽管现代内核支持使用dgram
进行ping,但在某些发行版(如Arch)中默认禁用。更多信息:https://wiki.archlinux.org/title/sysctl#Allow_unprivileged_users_to_create_IPROTO_ICMP_sockets
许可证
此库包含来自https://github.com/knsd/tokio-ping的代码,该代码根据以下之一进行许可:
- Apache License,版本2.0,(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
其他代码的许可证为
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
依赖项
~0.8–1.5MB
~29K SLoC