2012-01-19 15 views
5

Debería ser posible enviar y recibir paquetes ICMP utilizando la biblioteca de socket de Ruby, pero no veo ninguna buena documentación al respecto.¿Cómo implemento el ping ICMP en Ruby utilizando solo la biblioteca de socket estándar?

No quiero usar net-ping, icmp, ping y todas estas otras bibliotecas que fallan debido a problemas multiplataforma, requieren devkit y compilación personalizada, que fallan durante el proceso de compilación, se descuidan y no han sido actualizados por un tiempo prolongado, y/o son simplemente errores generales.

¿Alguien tiene alguna buena documentación sobre cómo lograr esto? Deseo enviar respuestas de eco ICMP, no paquetes TCP o UDP.

+1

¿Tiene la biblioteca socket rubí permite especificar el protocolo ICMP? Es probable que se base estrechamente en conectores "Unix". –

+0

Bueno, puedo .. 'sock = Socket.new (Socket :: PF_INET, Socket :: SOCK_RAW, Socket :: IPPROTO_ICMP)' – Beaon

+0

Con la documentación, sin embargo, no está claro a dónde ir desde allí. Hay mucha documentación sobre cómo hacer una conexión UDP o TCP. Nada sobre cómo usar la pieza de ICMP. – Beaon

Respuesta

Cuestiones relacionadas