IP多播使您能够发送单个数据包,如果它们订阅了该多播,则由多个接口接收。如果我理解正确的话。
现在,如果我想使用UDP,结合IP多播,我有义务分配一个端口来监听。但现在我知道我只在专门发送到该端口的多播上接收UDP数据包。但我想拦截发送到某个多播IP地址的所有UDP数据包,无论端口如何,都在我的单个插槽中接收它们。
这样的事情可能吗?
如果可能的话,最好附带一个python示例。
答案 0 :(得分:2)
这不可能使用BSD套接字API(大致是API在其socket
模块中公开) - 除了创建2 ** 16 - 1套接字并使用它们绑定到所有端口。
可以使用较低级别的接口,例如Linux提供的TUN/TAP system。