3

我正在尝试使用 Ruby 创建一个原始套接字。

问题是,那里没有任何称为“原始套接字”的东西,另一方面,Socket 类本身没有完整记录。

有没有人有一些Ruby中那种套接字的代码示例,或者可能有一些文档?

顺便说一句,我已经知道如何使用 TCPSocket 和 TCPServer 类,我特别需要一个原始套接字。

4

3 回答 3

3

谷歌提出以下结果:http ://www.ruby-forum.com/topic/90408

精简版:

require 'socket'

rsock = Socket.open(Socket::PF_INET, Socket::SOCK_RAW, Socket::IPPROTO_RAW)

rsock.send(string, flags)

rsock.recv(1024)

有关各种 Socket 类的更多文档:http ://www.rubycentral.com/pickaxe/lib_network.html

(整个原始套接字在 unices 上相当讨厌,因为它通常需要 root 访问权限。我没有测试此代码。如果您不使用 IPSocket,您可能需要自己构建整个数据包)

于 2009-08-28T18:57:21.730 回答
2

看看球拍宝石(https://rubygems.org/gems/racket)。自 2009 年发布最后一个版本以来,它似乎有点过时了,但它也用于 metasploit 框架。

于 2011-03-25T16:21:18.440 回答
2

看看PacketFu。它被 Metasploit 项目很好地维护和使用。

于 2012-05-06T21:38:04.433 回答