1

IP 多播使您能够发送单个数据包,如果多个接口订阅了该多播,则该数据包会被多个接口接收。如果我理解正确的话。

现在如果我想使用 UDP,结合 IP 多播,我有义务分配一个端口来监听。但现在我知道我只接收专门发送到该端口的多播上的 UDP 数据包。但是我想拦截所有发送到某个多播 IP 地址的 UDP 数据包,无论端口如何,并在我的单个套接字上接收它们。

这样的事情可能吗?

如果可能的话,最好附上一个 python 示例。

4

1 回答 1

2

使用 BSD 套接字 API(大致是 Python 在其模块中公开的 API)这是不可能的socket——除非创建 2 ** 16 - 1 套接字并使用它们绑定到所有端口。

可以使用较低级别的接口,例如Linux 提供的TUN/TAP 系统。

于 2013-10-16T16:23:59.097 回答