关于telnet登录

来源:互联网 发布:c语言中的temp 编辑:程序博客网 时间:2024/06/05 03:25

1、python.exe

创建.bat文件,并输入

@echo on
start c:\python27\python.exe  g:\telnet_test.py


telnet_test.py如下所示

#encoding=utf-8
 
def do_telnet(Host, username, password, finish, commands):  
    import telnetlib  
    '''''Telnet远程登录:Windows客户端连接Linux服务器'''  
   
    # 连接Telnet服务器  
    tn = telnetlib.Telnet(Host, port=23, timeout=10)  
    tn.set_debuglevel(2)
      
    # 输入登录用户名  
    tn.read_until('Username:')  
    tn.write(username + '\n')  
 
    # 输入登录密码  
    tn.read_until('Password:')  
    tn.write(password + '\n')
    
    # 登录完毕后执行命令  
    tn.read_until(finish)  
    for command in commands:  
        tn.write('%s\n' % command)
        tmp = tn.read_lazy()
        print '*****************'
        print tmp

    #执行完毕后,终止Telnet连接(或输入exit退出)  
    tn.read_until(finish)  
    tn.close() # tn.write('exit\n')  
 
if __name__=='__main__':  
    Host = '1.2.3.4'   # Telnet服务器IP
    username = 'abc'   # 登录用户名  
    password = '123'   # 登录密码  
    finish = '#'       # 命令提示符  
    commands = ['show card']  
    do_telnet(Host, username, password, finish, commands)  



2、SecurityCRT.exe

@echo on
start F:\SecureCRT\SecureCRTPortable\App\SecureCRT\SecureCRT.exe /SCRIPT g:\crt_test.py


crt_test.py如下所示:

#$language = "Python"
#$interface = "1.0"

host = '1.2.3.4'
user = '***'
psd = '***'

def main():
    crt.Screen.Synchronous = True
    crt.Session.Connect('/TELNET '+host)
    crt.Screen.WaitForString('Username:')
    crt.Screen.Send(user + '\r')
    crt.Screen.WaitForString('Password:')
    crt.Screen.Send(psd + '\r')
    crt.Screen.Send('show card'+'\r')
    while(1):
        crt.Screen.Send('show card'+'\r')
        crt.Screen.WaitForString('#')
        crt.Dialog.MessageBox("good")
        break
main()

小结:

telent都需要借助工具来登录。

工具有自身的语言和格式。

python语言通用性较好。