telnetlib

The telnetlib module provides a Telnet class that implements the Telnet protocol.  也就是說,可以通過該模塊連接telnet server。

官方文檔給出了該模塊的一個典型應用,如下:

import getpass
import sys
import telnetlib

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

tn = telnetlib.Telnet(HOST)

tn.read_until("login: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")

tn.write("ls\n")
tn.write("exit\n")

print tn.read_all()

下面給出自己的理解(還未驗證):

HOST = "localhost':HOST的值通常賦爲要telnet的server的ip;

接下來兩句用來獲取登錄該server時的用戶名和密碼,並將你輸入的用戶名和密碼保存在user和password兩個變量中;

tn = telnetlib.Telne(HOST):該句應該是開始telnet server了,類似於你在windows的cmd裏輸入:telnet HOST

tn.read_until("login: "):指的是等待server向你發送"login: "字符,只有獲取到這些字符時,程序纔會接着往下執行。類似於當你在windows下telnet HOST之後,終端會顯示:”login:“,讓你輸入用戶名;

接下來兩行是輸入密碼的流程,與輸入用戶名類似;

如果登陸成功,就可以在該server下執行命令了,用telnetlib模塊執行命令時所用的方法就是如代碼所示:tn.write("ls\n");

tn.write("exit\n")會退出登陸的server,最後一句就是打印所有退出時server顯示的信息。


參考:http://blog.csdn.net/five3/article/details/8099997

發佈了49 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章