Python Telnet
Python Telnet
Telnet是一種網(wǎng)絡(luò)協(xié)議,它允許一臺計算機上的用戶登錄到另一臺也屬于同一網(wǎng)絡(luò)的計算機。telnet命令與主機名一起使用,然后輸入用戶憑據(jù)。成功登錄后,遠程用戶可以以類似于系統(tǒng)普通用戶的方式訪問應(yīng)用程序和數(shù)據(jù)。當然,某些權(quán)限是由設(shè)置和維護系統(tǒng)的系統(tǒng)管理員控制。
在Python中,telnet由telnetlib模塊實現(xiàn),該模塊具有Telnet類,該類具有建立連接所需的方法。在下面的示例中,使用getpass模塊在登錄過程中處理密碼提示。另外,假設(shè)已建立到UNIX主機的連接。下面說明程序中使用的telnetlib.Telnet類的各種方法。
- Telnet.read_until - 讀取直到遇到給定的預(yù)期字符串或超時秒數(shù)為止。
- Telnet.write - 將字符串寫入套接字,將所有IAC字符加倍。如果連接被阻止,則可能會阻止。如果關(guān)閉連接,可能會引發(fā)socket.error。
- Telnet.read_all()-讀取所有數(shù)據(jù),直到EOF;阻塞直到連接關(guān)閉。
示例
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.slktour.com # Date : 2020-08-25 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()
運行上面示例代碼,得到以下結(jié)果:
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.slktour.com # Date : 2020-08-25 - 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
請注意,此輸出由運行程序時提交詳細信息的遠程計算機決定。
相關(guān)文章
- python如何遍歷字符串中每一個字符
- Python的gtts庫將文字轉(zhuǎn)為音頻應(yīng)該如何操作
- python中的Pyperclip模塊功能是什么
- Python異步之生成器怎么使用
- 如何使用Python點云生成3D網(wǎng)格
- Python如何利用手勢識別實現(xiàn)貪吃蛇游戲
- Python 網(wǎng)絡(luò)編程
- Python 開發(fā)環(huán)境
- Python IP地址
- Python HTTP客戶端
- Python 構(gòu)建URL
- Python 電子郵件
- Python IMAP
- Python SFTP
- Python Web服務(wù)器
- Python 線程
- Python 線程并發(fā)
- Python 調(diào)試線程應(yīng)用程序
- Python 進程池
- Python 事件驅(qū)動編程