Untitled
unknown
python
a year ago
1.0 kB
5
Indexable
import socket
import time
def udp_forwarder(listen_address: tuple, forward_addresses: list[tuple]):
try:
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.bind(listen_address)
print(f"Listening for UDP packets on {listen_address}...")
print(f"Forwarded to")
for addr in forward_addresses:
print(addr)
while True:
data, addr = server_socket.recvfrom(1024) # addr not used
print(f"({time.time():<20}) {addr}: {len(data):<4} bytes [0x{data[0]:02X} 0x{data[1]:02X} 0x{data[2]:02X} ...]")
for ip, port in forward_addresses:
server_socket.sendto(data, (ip, port))
except KeyboardInterrupt:
print("UDP forwarder stopped")
finally:
server_socket.close()
if __name__ == "__main__":
listen_address = ("0.0.0.0", 27801)
forward_addresses = (
("localhost", 27802),
("192.168.5.101", 27801),
)
udp_forwarder(listen_address, forward_addresses)
Editor is loading...
Leave a Comment