【问题标题】:SO_BINDTODEVICE option support for FreeBSD对 FreeBSD 的 SO_BINDTODEVICE 选项支持
【发布时间】:2013-06-24 17:23:38
【问题描述】:

我正在实现基于原始套接字的代码。为了接收即将到来的以太网帧,我必须将我创建的套接字绑定到以太网接口。就我而言,唯一的方法是通过带有选项 SO_BINDTODEVICE 的 setsockopt() 函数。

问题是我正在使用不支持此类选项的 FreeBSD。是否有任何补丁可用于启用此功能或任何其他受信任的替代方案?

【问题讨论】:

    标签: sockets freebsd raw-sockets


    【解决方案1】:

    如果您使用的是 IPv6,则可以使用 sendto,请参阅 this example。 不幸的是,这不适用于 IPv4。

    正如 antiduh 所说,你可以使用 libpcap 来捕获数据包,前提是你可以访问/dev/bpf(通常仅限于root)。

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 2023-03-28
      • 2021-10-25
      • 2018-06-10
      • 1970-01-01
      • 1970-01-01
      • 2018-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多