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

這是個簡單的例子


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM