telnet_test.py

import socket
import struct
import sys
import random
import threading
import time

IAC = b"\377"
WONT = b"\375"
WILL = b"\373"
LINEMODE = b"\042"
ECHO = b"\001"
DONT = b"\376"

UP = b'\x1b[A'
DOWN = b'\x1b[B'
RIGHT = b'\x1b[C'
LEFT = b'\x1b[D'

stuff = [b'R', b'G', b'x', b'*', b' ', b'y', UP, DOWN, RIGHT, LEFT]

def create_agent():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((sys.argv[1], 8000))
    s.sendall(b'\xf0' + IAC + DONT + ECHO)
    for _ in range(50):
        for _ in range(50):
            s.sendall(random.choice(stuff))
        time.sleep(0.1)
    s.shutdown(2)
    s.close()

ts = []
for _ in range(20):
    ts.append(threading.Thread(target=create_agent))
for t in ts:
    t.start()
for t in ts:
    t.join()