Как я могу использовать RAW Sockets в Ruby? - PullRequest
3 голосов
/ 28 августа 2009

Я пытаюсь создать необработанный сокет, используя Ruby.

Проблема в том, что там нет ничего, называемого «необработанным сокетом», и, с другой стороны, сам класс Socket не полностью документирован.

У кого-нибудь есть примеры кода для такого рода сокетов в Ruby, или, может быть, какая-то документация для этого?

Между прочим, я уже знаю, как работать с классами TCPSocket и TCPServer, и что мне нужно, особенно это необработанный сокет.

Ответы [ 3 ]

2 голосов
/ 07 мая 2012

Посмотрите на PacketFu . Он очень хорошо поддерживается и используется проектом Metasploit.

2 голосов
/ 28 августа 2009

Google выводит следующий результат: 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)

Дополнительная документация по различным классам сокетов: http://www.rubycentral.com/pickaxe/lib_network.html

(Все сырые сокеты довольно неприятны для юнионов, поскольку обычно для этого требуется root-доступ. Я не тестировал этот код. Возможно, вам придется создать весь пакет самостоятельно, если вы не используете IPSocket)

1 голос
/ 25 марта 2011

Посмотрите на камень ракетки (https://rubygems.org/gems/racket). Кажется, он немного устарел с момента выхода последней версии в 2009 году, но также используется в инфраструктуре metasploit.

...