如何在Ruby中仅使用标准套接字库实现ICMP ping?

如何在Ruby中仅使用标准套接字库实现ICMP ping?,ruby,ping,icmp,Ruby,Ping,Icmp,应该可以使用Ruby套接字库发送和接收ICMP数据包,但我没有看到任何关于这方面的好文档 我不想使用net ping、icmp、ping和所有其他库,这些库要么因为跨平台问题而失败,要么需要devkit和自定义构建,它们在构建过程中失败,被忽略,并且已经很长时间没有更新,和/或只是一般性的错误 有人有关于如何实现这一点的好文档吗?我想发送ICMP回显回复,而不是TCP或UDP数据包。阅读Daniel Berger在其Net ping项目中的代码,我能够看到他是如何做到这一点的 ruby套接字库是

应该可以使用Ruby套接字库发送和接收ICMP数据包,但我没有看到任何关于这方面的好文档

我不想使用net ping、icmp、ping和所有其他库,这些库要么因为跨平台问题而失败,要么需要devkit和自定义构建,它们在构建过程中失败,被忽略,并且已经很长时间没有更新,和/或只是一般性的错误


有人有关于如何实现这一点的好文档吗?我想发送ICMP回显回复,而不是TCP或UDP数据包。

阅读Daniel Berger在其Net ping项目中的代码,我能够看到他是如何做到这一点的


ruby套接字库是否允许指定ICMP协议?它很可能是基于“unix”套接字的<代码>sock=Socket.new(Socket::PF_INET,Socket::sock_RAW,Socket::IPPROTO_ICMP)与文档一起提供,但不清楚从哪里开始。有大量关于如何建立UDP或TCP连接的文档。没有关于如何使用ICMP的任何内容。