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顯示的信息。