【问题标题】:SO_REUSEPORT and SO_REUSEADDRSO_REUSEPORT 和 SO_REUSEADDR
【发布时间】:2023-03-03 20:49:01
【问题描述】:

我正在尝试嗅探通过某个端口的帧,因此我在绑定之前使用选项 SO_REUSEPORT 和 SO_REUSEADDR 创建了套接字侦听器。但是在我启动我的应用程序时,我只在应用程序端获取我的帧,而不是在侦听器端。

有人知道我做错了什么吗?

提前致谢

【问题讨论】:

    标签: python sockets


    【解决方案1】:

    SO_REUSEPORT / SO_REUSEADDR 表示多个进程可以在同一个端口上侦听,但是每个连接(对于 TCP)或数据包(对于 UDP/ICMP)只会转到一个进程。因此,您不能以这种方式嗅探流量,因为(a)另一个进程获取数据包而您的进程没有,或者(b)您的进程获取数据包,但另一个进程没有,因此不会响应给它。

    如果您需要以编程方式捕获数据包,您可以使用 Wiresharktcpdump 或 libpcap/WinPCAP 等方法来嗅探流量。

    【讨论】:

      猜你喜欢
      • 2013-01-01
      • 2015-12-16
      • 2019-01-30
      • 1970-01-01
      • 2013-03-20
      • 1970-01-01
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      相关资源
      最近更新 更多