I’d like to send a specific UDP broadcast packet. Unfortunately, I need to send the UDP packets from a very specific port.
Let’s say I broadcast via UDP "BLABLAH". The server will only answer if my incoming packet source port was 1444; if not, then the packet is discarded.
My broadcast socket setup looks like this:
s = socket(AF_INET,SOCK_DGRAM)
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
How can I then set the source port in Python?
You need to
bindthe socket to the specific port you want to send from. Thebindmethod takes an address tuple, much likeconnect, though you can use the wildcard address. For example: