python中telnetlib模块的使用

简介: 一、Windows下开启Telnet服务 (详见:与Win7防火墙无缝结合 Telnet功能测试) 1、Windows 2000/XP/2003/Vista:默认已安装但禁止了Telnet服务 (1)开启Telnet:运行services.msc打开服务管理,找到Telnet服务项设置其启动类型为“自动”或者“手动”(更安全,只在需要的时候才启用),然后启动该服务即可。

一、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()

这是个简单的例子

技术改变世界! --狂诗绝剑
目录
相关文章
|
2月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
74 4
|
1月前
|
Python
Python Internet 模块
Python Internet 模块。
125 74
|
2月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
130 63
|
2月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
2月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
17天前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
26 3
|
2月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
2月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
56 5
|
2月前
|
JavaScript 前端开发 Python
python中的OS模块的基本使用
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。博客分享前端技术及全栈开发经验,持续更新中,期待您的关注和支持!🎉🎉🎉
47 0
|
2月前
|
JavaScript 前端开发 Python
python中的platform模块的基本使用
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。博客分享前端技术,助你成长。关注我,持续更新中!🎉🎉🎉
37 0

热门文章

最新文章