一、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模块的使用的更多相关文章

  1. Python中optionParser模块的使用方法[转]

    本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...

  2. python中threading模块详解(一)

    python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...

  3. 【转】关于python中re模块split方法的使用

    注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于 ...

  4. Python中的模块介绍和使用

    在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一 ...

  5. python中导入模块的本质, 无法导入手写模块的解决办法

    最近身边一些朋友发生在项目当中编写自己模块,导入的时候无法导入的问题. 下面我来分享一下关于python中导入模块的一些基本知识. 1 导入模块时寻找路径 在每一个运行的python程序当中,都维护了 ...

  6. Python中time模块详解

    Python中time模块详解 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. ...

  7. Python中collections模块

    目录 Python中collections模块 Counter defaultdict OrderedDict namedtuple deque ChainMap Python中collections ...

  8. Python中pathlib模块

    Python中pathlib模块 Path.cwd():返回当前目录的路径 Path.home():返回当前用户的家目录 Path.stat():返回此路径信息 Path.touch():创建文件 P ...

  9. Python 中包/模块的 `import` 操作

    版权声明:博客为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/10745292.html 用实例来说明 import 的作用吧. 创建 ...

随机推荐

  1. 获取listview当前滚动的高度

    public int getScrollY() {      View c = mListView.getChildAt(0);      if (c == null ) {          ret ...

  2. 6. Shell 流程控制

    1. 条件选择流程 1.1 if #!/bin/bash # if 格式 #if condition #then # command1 # command2 # ... # commandN #fi ...

  3. 给Linux添加google搜索命令

    一次面试时,面试官问怎么在终端直接做到在百度搜索自己的名字,当时没回答出来,面试官给了提示,问http协议.答案是说telnet连接www.baidu.com之后GET 昨天偶然看到一篇博客,http ...

  4. Java中ArrayList和LinkedList性能的比较(结果总是怪怪的,如果有不当还请指出)。

    不说废话,直接看代码: /** * @author HuYang * @date 2016年8月15日 下午3:26:43 */ public class TestJiHe { private sta ...

  5. JS 阻止整个网页的内容被选中

    pretty-girl { -webkit-user-select: none; } 可是!可是!不是每个浏览器都可以不忧桑!!!那就只能请脚本大王出山了. 阻止选中 有时候,我们需要禁止用户选中一些 ...

  6. hadoop 读取文件的两种方式

    1.操作javaAPI方式 static{ URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); } public stat ...

  7. js---DOM元素节点

    创建新的 HTML 元素如需向 HTML DOM 添加新元素,您必须首先创建该元素(元素节点),然后向一个已存在的元素追加该元素. 实例1: <!DOCTYPE html> <htm ...

  8. iOS开发瀑布流的实现

    //自定义布局,继承于UICollectionViewLayout #import <UIKit/UIKit.h> @class WaterFlowLayout; @protocol  W ...

  9. UVa 1600 Patrol Robot (习题 6-5)

    传送门: https://uva.onlinejudge.org/external/16/1600.pdf 多状态广搜 网上题解: 给vis数组再加一维状态,表示当前还剩下的能够穿越的墙的次数,每次碰 ...

  10. BitSort

    这个题为<编程珠玑>中提到的算法,解题思路和桶排序/基数排序一样,适用于大量没有重复的数据. 结题思路: 1.遍历整个数据文件,每提取一个数据,在BitMap中对应的位置赋1 2.遍历Bi ...