方法一 # 2024/6/19 import getpass import telnetlib HOST = "localhost" user = input("Enter your remote account: ") password = getpass.getpass() tn = telnetlib.Telnet(HOST) tn.read_until(b"login: ") tn.write(user.encode('ascii') + b"\n") if password: tn.read_until(b"Password: ") tn.write(password.encode('ascii') + b"\n") tn.write(b"ls\n") tn.write(b"exit\n") print(tn.read_all().decode('ascii'))
方法二
# 2024/6/19 import getpass import telnetlib import time def telnet_func(host,user,password,pwd,*args) tn = telnetlib.Telnet(host) tn.read_until(b"login: ") tn.write(user.encode('ascii') + b"\n") if password: tn.read_until(b"password: ") tn.write(password.encode('ascii') + b"\n") time.sleep(1) tn.write(b"enable\n") time.sleep(1) tn.write(pwd.encode('ascii') + b"\n") time.sleep(1) for i in args: tn.write(i.encode('ascii') + b"\n") time.sleep(1) tn.write(b"exit\n") time.sleep(1) print(tn.read_all().decode('ascii')) if __name__ == "__main__": host = input("请输入设备IP地址: ") user = input("请输入用户名:") password = getpass.getpass("请输入密码:") pwd = getpass.getpass(("输入enable密码:")) cmd = input("输入需要执行的命令,多个命令用逗号分隔!") cmd_list = tuple(cmd.split(',')) telnet_func(host,user,password,pwd,*cmd_list)