import socket, datetime
def ts(): return datetime.datetime.now().strftime("%H:%M:%S")
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
s.bind(('0.0.0.0',5058))
print(f"[{ts()}] UDP listening 5058",flush=True)
while True:
    data,addr=s.recvfrom(4096)
    print(f"[{ts()}] {len(data)}B from {addr}: {data.hex()}",flush=True)
