【问题标题】:Writing an OS X kernel extension to implement Linux's SO_BINDTODEVICE socket option编写 OS X 内核扩展来实现 Linux 的 SO_BINDTODEVICE 套接字选项
【发布时间】:2012-09-08 12:44:30
【问题描述】:

我希望能够通过特定网络接口强制套接字。在 Linux 中,内核允许程序员通过设置所述套接字选项来实现这一点——但在 OS X 中,我一无所知。

因此我的标题问题 - 有可能吗?已经完成了吗?我不打算重新实现 IP 堆栈,只是启用绑定到接口选项。

【问题讨论】:

  • 带有特定接口地址的标准bind(2) 不适合您?
  • @NikolaiNFetissov:你能详细说明一下 bind(2)。这是 API、命令行实用程序还是其他东西?
  • @Dor:你能弄清楚吗?
  • 阅读手册 - man 2 bind。它是与网络相关的基本系统调用之一。
  • bind() 对我没有任何好处,因为系统不保证调用会将套接字绑定到特定接口 - 但只能绑定到特定地址。

标签: c macos networking driver kernel-extension


【解决方案1】:

使用 RFC 3542 接口选择传出接口 (IPV6_PKTINFO)。 https://www.rfc-editor.org/rfc/rfc3542#section-6

【讨论】:

    猜你喜欢
    • 2010-11-15
    • 1970-01-01
    • 2013-11-06
    • 2010-10-26
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    相关资源
    最近更新 更多