Vincent Ketelaars
Vincent Ketelaars

Reputation: 1109

Use UDP without specifc port for Multicast

IP multicast gives you the ability to send a single packet, which is picked up by multiple interfaces if they are subscribed to that multicast. If I understand it correctly.

Now if I want to use UDP, in combination with IP multicast, I am obligated to assign a port to listen to. But now I understand that I only receive UDP packets on a multicast specifically sent to that port. But I would like to intercept all UDP packets send to a certain multicast IP address, regardless of the port and receive them at my single socket.

Is something like this possible?

Preferably accompanied by a python example, if this is possible.

Upvotes: 1

Views: 970

Answers (1)

Jean-Paul Calderone
Jean-Paul Calderone

Reputation: 48335

This isn't possible using the BSD socket API (which is roughly the API Python exposes in its socket module) - except by creating 2 ** 16 - 1 sockets and using them to bind to all ports.

It's possible using lower-level interfaces such as the TUN/TAP system offered by Linux.

Upvotes: 2

Related Questions