2012-01-19 27 views
5

它應該有可能使用Ruby套接字庫發送和接收ICMP數據包,但我沒有看到任何有關此的良好文檔。如何僅使用標準套接字庫在Ruby中實現ICMP ping?

我不想使用net-ping,icmp,ping以及所有這些由於跨平臺問題而失敗的庫,要求在構建過程中失敗的devkit和自定義構建被忽略,長時間沒有更新,和/或只是一般的越野車。

有沒有人有如何做到這一點的好文檔?我想發送ICMP迴應應答,而不是TCP或UDP數據包。

+1

ruby​​ socket庫是否允許指定ICMP協議?它很可能基於「unix」套接字。 – 2012-01-19 22:55:01

+0

那麼我可以..'sock = Socket.new(Socket :: PF_INET,Socket :: SOCK_RAW, Socket :: IPPROTO_ICMP)' – Beaon

+0

有了文檔,但不清楚從那裏去哪裏。有大量關於如何建立UDP或TCP連接的文檔。沒有關於如何使用ICMP的東西。 – Beaon

回答