【问题标题】:How can I send a Ethernet packet into network in Ruby?如何在 Ruby 中将以太网数据包发送到网络中?
【发布时间】:2012-02-01 00:07:55
【问题描述】:

我安装了 packetfu gem,并看到了示例和测试(部分),但我仍然不明白如何将帧发送到网络。我只是看到示例操作以太网帧并将其写入 pcap 文件,这不是我想要的。

我只想使用以太网方法和一种将以太网帧发送到网络的方法。我更喜欢自己实现的流式协议细节。

当然,如果 Ruby 确实获得了 801.x 协议的库或 gem,我会很高兴听到您的建议。

提前致谢。

好吧,标签提示启发了我,我在 Google 上搜索了 Ruby 的 raw-ethernet 并发现了这个 http://blog.mudynamics.com/2007/12/04/ruby-tuntap-interface/ 我认为这很鼓舞人心!

【问题讨论】:

    标签: ruby ethernet


    【解决方案1】:

    我从未使用过 packetfu,但我发现 Ruby 的 socket interface 非常简单易用。最重要的是,无需安装或保持更新的 gem,因为它是一个标准库,您需要做的就是使用它来要求它。如果您需要的只是读取/注入以太网帧,至少在 Linux 上,它是 fairly simple

    【讨论】:

    • 我认为创建以太网帧并发送它应该很简单。我已经阅读了一些关于 Ruby 中套接字的文档,但我想使用套接字我充其量只是发送原始二进制数据?我还没有看到它有设置目标 MAC 或源 MAC 地址的方法
    • 来自 this thread 看起来您可以通过 ioctl 访问它,但不是在每个平台上都可以访问它。 See also
    猜你喜欢
    • 2015-10-13
    • 2015-02-17
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    相关资源
    最近更新 更多