import socket, threading, time
LOG = '/root/tt/echo.log'
def serve(port):
    s = socket.socket(); s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1); s.bind(('0.0.0.0', port)); s.listen(128)
    while True:
        c, a = s.accept()
        def h(c=c, a=a):
            c.settimeout(8); n = 0
            try:
                d = c.recv(4096); n = len(d); c.sendall(b'pong %d\n' % n)
            except Exception as e: d = b''
            open(LOG, 'a').write('%s port %d from %s: received %d bytes %r\n' % (time.strftime('%H:%M:%S'), port, a[0], n, d[:24]))
            c.close()
        threading.Thread(target=h, daemon=True).start()
for p in (8080, 8443, 2053, 50000, 5222): threading.Thread(target=serve, args=(p,), daemon=True).start()
time.sleep(1800)
