好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

python中telnetlib模块的使用

  

一、Windows下开启Telnet服务

(详见:与Win7防火墙无缝结合 Telnet功能测试)

1、Windows 2000/XP/2003/Vista:默认已安装但禁止了Telnet服务

(1)开启Telnet:运行services.msc打开服务管理,找到Telnet服务项设置其启动类型为“自动”或者“手动”(更安全,只在需要的时候才启用),然后启动该服务即可。

2、Windos 7:默认未安装Telnet服务

(1)安装Telnet:依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows 功能”进入Windows 功能设置对话框。找到并勾选“Telnet客户端”和“Telnet服务器”,最后“确定”稍等片刻即可完成安装。

(2)开启Telnet:方法同1中的(1)

二、 Linux 下开启Telnet服务

(详见:Ubuntu 10.10 下配置Telnet服务器)

(1)安装telnetd(即telnet-server):apt-get install telnetd

(2)安装xinetd(telnet-server的运行需要由xinetd来管理):apt-get install xinetd

(3)配置telnet文件:vi /etc/xinetd.d/telnet

(4)开启xinetd:service xinetd start

三、使用Python实现Telnet远程登录

  Python中专门提供了telnetlib库,用来完成基于telnet协议的通信功能。

  利用telnetlib实现远程登录功能的代码如下:

 

 1 # -*- coding: utf-8 -*-   2   3 import telnetlib  4    5  '''Telnet远程登录:Windows客户端连接 Linux 服务器'''  6    7  # 配置选项  8  Host = '192.168.1.2' # Telnet服务器IP  9  username = 'admin'   # 登录用户名 10  password = '123456'  # 登录密码 11  finish = ':~$ '      # 命令提示符(标识着上一条命令已执行完毕) 12   13  # 连接Telnet服务器 14  tn = telnetlib.Telnet(Host) 15   16  # 输入登录用户名 17  tn.read_until('login: ') 18  tn.write(username + '\n') 19   20  # 输入登录密码 21  tn.read_until('Password: ') 22  tn.write(password + '\n') 23   24  # 登录完毕后,执行ls命令 25  tn.read_until(finish) 26  tn.write('ls\n') 27   28  # ls命令执行完毕后,终止Telnet连接(或输入exit退出) 29  tn.read_until(finish) 30  tn.close() # tn.write('exit\n')

 

 

###################################################

#!/usr/bin/env python

import getpass import sys import telnetlib

HOST = "10.1.1.1" user = raw_input("Enter your remote account: ") password = getpass.getpass()

print password

tn = telnetlib.Telnet(HOST) print "Begin login." tn.read_until("login:") tn.write(user + "\n")

if password:     tn.read_until("Password:")     tn.write(password + "\n")     print "Login Done." tn.write("ls\n") tn.write("exit\n")

print tn.read_all()

这是个简单的例子

查看更多关于python中telnetlib模块的使用的详细内容...

  阅读:26次