Telnet是一種網路協議,它允許一臺電腦上的用戶登錄到另一臺也屬於同一網路的電腦。telnet命令與主機名一起使用,然後輸入用戶憑據。成功登錄後,遠程用戶可以以類似於系統普通用戶的方式訪問應用程式和數據。當然,某些許可權是由設置和維護系統的系統管理員控制。
在Python中,telnet由telnetlib
模組實現,該模組具有Telnet類,該類具有建立連接所需的方法。在下面的示例中,使用getpass
模組在登錄過程中處理密碼提示。另外,假設已建立到UNIX主機的連接。下麵說明程式中使用的telnetlib.Telnet
類的各種方法。
Telnet.read_until
- 讀取直到遇到給定的預期字串或超時秒數為止。Telnet.write
- 將字串寫入套接字,將所有IAC字元加倍。如果連接被阻止,則可能會阻止。如果關閉連接,可能會引發socket.error
。Telnet.read_all()
-讀取所有數據,直到EOF;阻塞直到連接關閉。
示例
import getpass
import telnetlib
HOST = "http://localhost:8000/"
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()
運行上面示例代碼,得到以下結果:
- lrwxrwxrwx 1 0 0 1 Nov 13 2012 ftp -> .
- lrwxrwxrwx 1 0 0 3 Nov 13 2012 mirror -> pub
- drwxr-xr-x 23 0 0 4096 Nov 27 2017 pub
- drwxr-sr-x 88 0 450 4096 May 04 19:30 site
- drwxr-xr-x 9 0 0 4096 Jan 23 2014 vol
請注意,此輸出由運行程式時提交詳細資訊的遠程電腦決定。
上一篇:
Python資料庫和SQL
下一篇:
Python電子郵件