色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python中telnetlib模塊的基本使用

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來(lái)源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2023-05-04 14:27 ? 次閱讀

telnetlib 是 Python 標(biāo)準(zhǔn)庫(kù)中的一個(gè)模塊,它提供了 Telnet 協(xié)議的客戶端功能。使用 telnetlib 模塊,我們可以在 Python 中編寫(xiě)腳本來(lái)自動(dòng)化 Telnet 會(huì)話,執(zhí)行命令以及收集輸出。

本文將介紹 telnetlib 模塊的基本使用以及一些示例。

基本用法

在使用 telnetlib 時(shí),需要先創(chuàng)建一個(gè) Telnet 對(duì)象,然后使用該對(duì)象進(jìn)行 Telnet 會(huì)話。可以使用以下代碼創(chuàng)建一個(gè) Telnet 對(duì)象:

importtelnetlib

tn=telnetlib.Telnet(host,port)

其中 host 是 Telnet 服務(wù)器的主機(jī)名或 IP 地址,port 是 Telnet 服務(wù)器的端口號(hào)。

創(chuàng)建 Telnet 對(duì)象后,可以使用 read_until() 方法等待服務(wù)器發(fā)送的數(shù)據(jù)。可以使用以下代碼等待 Telnet 服務(wù)器發(fā)送的數(shù)據(jù):

tn.read_until(b"login:")

其中 b"login: " 是一個(gè)字節(jié)數(shù)組,用于指定需要等待的字符串。

可以使用 write() 方法向 Telnet 服務(wù)器發(fā)送數(shù)據(jù)。例如,可以使用以下代碼向 Telnet 服務(wù)器發(fā)送用戶名和密碼:

tn.write(username.encode('ascii')+b"
")
tn.read_until(b"Password:")
tn.write(password.encode('ascii')+b"
")

在登錄到 Telnet 服務(wù)器后,可以使用 write() 方法執(zhí)行命令并收集輸出。例如,可以使用以下代碼執(zhí)行 ls 命令并收集輸出:

tn.write(b"ls
")
output=tn.read_all().decode('ascii')
print(output)

以上是 telnetlib 模塊的基本用法,接下來(lái)我們將看一些示例。

示例

示例:Telnet 登錄并執(zhí)行命令

以下示例演示如何使用 telnetlib 模塊登錄到 Telnet 服務(wù)器并執(zhí)行命令:

importtelnetlib

#配置Telnet服務(wù)器的IP地址和端口號(hào)
HOST="localhost"
PORT=23

#配置Telnet登錄信息
username="admin"
password="password"

#創(chuàng)建Telnet對(duì)象
tn=telnetlib.Telnet(HOST,PORT)

#等待服務(wù)器發(fā)送登錄提示
tn.read_until(b"login:")

#發(fā)送用戶名
tn.write(username.encode('ascii')+b"
")

#等待服務(wù)器發(fā)送密碼提示
tn.read_until(b"Password:")

#發(fā)送密碼
tn.write(password.encode('ascii')+b"
")

#執(zhí)行命令并收集輸出
tn.write(b"ls
")
output=tn.read_all().decode('ascii')
print(output)

#關(guān)閉Telnet連接
tn.close()

下面是Python telnetlib框架的更多例子:

1. 實(shí)現(xiàn)交互式命令行

telnetlib可以實(shí)現(xiàn)交互式的命令行操作。下面是一個(gè)簡(jiǎn)單的示例,演示了如何連接到遠(yuǎn)程設(shè)備,執(zhí)行命令并獲取輸出:

importtelnetlib

HOST="192.168.0.1"
user="admin"
password="password"

tn=telnetlib.Telnet(HOST)

tn.read_until(b"login:")
tn.write(user.encode('ascii')+b"
")
tn.read_until(b"Password:")
tn.write(password.encode('ascii')+b"
")

tn.write(b"enable
")
tn.read_until(b"Password:")
tn.write(password.encode('ascii')+b"
")

tn.write(b"showinterfaces
")
output=tn.read_all().decode('ascii')

print(output)

在這個(gè)例子中,我們首先連接到遠(yuǎn)程設(shè)備,然后輸入用戶名和密碼以登錄。接著,我們輸入enable命令,再次輸入密碼以獲取管理員權(quán)限。最后,我們執(zhí)行show interfaces命令,并將輸出打印出來(lái)。

2. 實(shí)現(xiàn)交互式配置

除了執(zhí)行命令,我們也可以使用telnetlib實(shí)現(xiàn)交互式的配置。下面是一個(gè)簡(jiǎn)單的示例,演示了如何連接到遠(yuǎn)程設(shè)備,進(jìn)入配置模式并配置接口

importtelnetlib

HOST="192.168.0.1"
user="admin"
password="password"

tn=telnetlib.Telnet(HOST)

tn.read_until(b"login:")
tn.write(user.encode('ascii')+b"
")
tn.read_until(b"Password:")
tn.write(password.encode('ascii')+b"
")

tn.write(b"enable
")
tn.read_until(b"Password:")
tn.write(password.encode('ascii')+b"
")

tn.write(b"configureterminal
")
tn.write(b"interfaceethernet1/1
")
tn.write(b"descriptionLinktoSwitchA
")
tn.write(b"noshutdown
")
tn.write(b"exit
")
tn.write(b"exit
")

output=tn.read_all().decode('ascii')

print(output)

在這個(gè)例子中,我們首先連接到遠(yuǎn)程設(shè)備,然后輸入用戶名和密碼以登錄。接著,我們輸入enable命令,再次輸入密碼以獲取管理員權(quán)限。然后,我們輸入configure terminal命令進(jìn)入配置模式,并使用interface ethernet 1/1命令進(jìn)入以太網(wǎng)接口1/1的配置界面。在這個(gè)界面中,我們使用description命令配置了接口的描述,使用no shutdown命令開(kāi)啟了接口,并使用exit命令退出了接口配置界面和配置模式。最后,我們將所有輸出打印出來(lái)。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9287

    瀏覽量

    85847
  • TELNET
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    10792
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4806

    瀏覽量

    84935
  • 標(biāo)準(zhǔn)庫(kù)

    關(guān)注

    0

    文章

    31

    瀏覽量

    7505
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    391

    瀏覽量

    14916

原文標(biāo)題:網(wǎng)絡(luò)工程師學(xué)Python-Telnet協(xié)議telnetlib模塊

文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    動(dòng)態(tài)庫(kù)封裝成python模塊的方法

    之前的文章 將靜態(tài)庫(kù)封裝成 python 模塊中講解了如何將靜態(tài)庫(kù)封裝成 python 模塊,靜態(tài)庫(kù)封裝相對(duì)來(lái)說(shuō)還是有點(diǎn)復(fù)雜,今天來(lái)介紹下動(dòng)態(tài)庫(kù)封裝成
    發(fā)表于 07-13 15:24 ?678次閱讀

    python模塊安裝方法

    Python模塊呢?import語(yǔ)句自定義模塊可以采用import語(yǔ)句來(lái)進(jìn)行引入,其操作步驟是先導(dǎo)入模塊,再調(diào)用模塊
    發(fā)表于 04-04 14:57

    Python的函數(shù)文件與模塊的程序說(shuō)明

    “探索Python ” 這一系列的前幾篇文章已為Python 編程新手介紹了幾方面的主題, 包括變量、容器對(duì)象和復(fù)合語(yǔ)句。本文以這些概念為基礎(chǔ),構(gòu)造一個(gè)完整的Python 程序。引入了Pyth
    發(fā)表于 09-10 16:06 ?2次下載
    <b class='flag-5'>Python</b>的函數(shù)文件與<b class='flag-5'>模塊</b>的程序說(shuō)明

    python包、模塊和庫(kù)是什么

    1. 模塊 以 .py 為后綴的文件,我們稱(chēng)之為 模塊,英文名 Module。 模塊讓你能夠有邏輯地組織你的 Python 代碼段,把相關(guān)的代碼分配到一個(gè)
    的頭像 發(fā)表于 03-09 16:47 ?2350次閱讀

    Python-模塊與包

    模塊Python 程序架構(gòu)的一個(gè)核心概念
    的頭像 發(fā)表于 02-16 14:55 ?800次閱讀
    <b class='flag-5'>Python</b>-<b class='flag-5'>模塊</b>與包

    解析python模塊搜索路徑和別名as

    描述** python通過(guò)模塊搜索路徑找到模塊文件進(jìn)行導(dǎo)入。
    的頭像 發(fā)表于 02-21 10:53 ?769次閱讀

    python中間模塊重載介紹

    python通過(guò)reload重載模塊動(dòng)態(tài)更新最新代碼。 ## 1.1 reload
    的頭像 發(fā)表于 02-21 11:16 ?566次閱讀

    簡(jiǎn)述python模塊import和from及all

    python指定導(dǎo)入目錄路徑,稱(chēng)為包導(dǎo)入。 通過(guò)import和from導(dǎo)入包模塊。 通過(guò)**all**指定導(dǎo)入的模塊和導(dǎo)入的模塊屬性。 ## 1.1
    的頭像 發(fā)表于 02-21 14:20 ?1272次閱讀

    淺析python模塊創(chuàng)建和from及import使用

    python模塊通過(guò)用python程序編寫(xiě)的.py文件即可創(chuàng)建,通過(guò)from及import語(yǔ)句導(dǎo)入模塊來(lái)使用。
    的頭像 發(fā)表于 02-21 14:44 ?885次閱讀

    python常用的內(nèi)置函數(shù)和模塊

    python數(shù)字包含常用的內(nèi)置函數(shù)和模塊,比如pow()、abs()、floor()、int()等函數(shù),以及math、random等模塊
    的頭像 發(fā)表于 03-10 10:10 ?967次閱讀

    介紹Python模塊的基礎(chǔ)知識(shí)

    Python是一種高級(jí)編程語(yǔ)言,擁有豐富的庫(kù)和模塊模塊Python中一個(gè)獨(dú)立的、可重用的代碼單元,它包含了一組相關(guān)的函數(shù)、類(lèi)和變量。
    的頭像 發(fā)表于 04-21 16:48 ?1015次閱讀

    介紹Python的日期時(shí)間基礎(chǔ)知識(shí)

    Python,處理日期時(shí)間是一個(gè)很常見(jiàn)的需求。Python提供了強(qiáng)大的日期時(shí)間模塊datetime,可以方便地處理日期時(shí)間相關(guān)的操作。
    的頭像 發(fā)表于 04-21 16:50 ?1504次閱讀

    如何使用Telnetlib3框架進(jìn)行遠(yuǎn)程訪問(wèn)

    Telnetlib3是Python的一個(gè)telnet客戶端庫(kù),可以用于遠(yuǎn)程訪問(wèn)服務(wù)器。它是Python標(biāo)準(zhǔn)庫(kù)telnetlib的一個(gè)改進(jìn)版本,支持P
    的頭像 發(fā)表于 05-04 14:23 ?2460次閱讀

    Visual Studiopython使用pip命令安裝模塊

    Visual Studiopython使用pip命令安裝模塊
    的頭像 發(fā)表于 07-27 11:42 ?1660次閱讀
    Visual Studio<b class='flag-5'>中</b><b class='flag-5'>python</b>使用pip命令安裝<b class='flag-5'>模塊</b>

    python如何導(dǎo)入模塊

    Python是一種強(qiáng)大的編程語(yǔ)言,它支持模塊化編程,使得開(kāi)發(fā)者可以將代碼分解為可重用且獨(dú)立的模塊模塊是一個(gè)包含函數(shù)、類(lèi)和變量等定義的文件,我們可以使用import語(yǔ)句將這些
    的頭像 發(fā)表于 11-22 14:46 ?988次閱讀
    主站蜘蛛池模板: SM调教贱屁股眼哭叫求饶H| 国产精品国产三级国产an| 曰本女人牲交视频免费| 一级无毛片| 伊人网伊人网| 99国内偷揿国产精品人妻| HEYZO精品无码一区二区三区| JAVAPARSER丰满白老师| 超碰在线97av视频免费| 国产精品国产三级国AV在线观看| 狠狠色丁香婷婷久久综合| 久久婷婷五月综合色丁香| 男男腐文污高干嗯啊快点1V1| 热久久视久久精品18| 午夜特级毛片| 一本一本之道高清在线观看| 凌馨baby| 欧美重口绿帽video| 十二月综合缴缴情| 亚洲免费每日在线观看| 最近的中文字幕2019国语| XXX国产麻豆HD| 国产三级在线精品男人的天堂| 久久AV喷吹AV高潮欧美| 女人麻豆国产香蕉久久精品| 十8禁用B站在线看漫画| 亚洲乱码国产一区三区| 97视频视频人人碰视频| 国产AV亚洲国产AV麻豆| 久久6699精品国产人妻| 欧美深夜0000XXXX疯狂| 亚欧乱亚欧乱色视频| 1级午夜影院费免区| 高清国产mv视频在线观看| 娇妻让壮男弄的流白浆| 欧美激情视频一区| 亚洲a视频在线| 99久久久精品| 国产美女又黄又爽又色视频网站| 久久亚洲伊人中字综合精品| 日日噜噜大屁股熟妇|