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