电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Python如何telnet到網(wǎng)絡(luò)設(shè)備

瀏覽:2日期:2022-06-27 16:57:56
0.前言

Telnet協(xié)議屬于TCP/IP協(xié)議族里的一種,對于我們這些網(wǎng)絡(luò)攻城獅來說,再熟悉不過了,常用于遠(yuǎn)程登陸到網(wǎng)絡(luò)設(shè)備進(jìn)行操作,但是,它的缺陷太明顯了,就是不安全,信息明文傳送,極容易被攻擊竊取信息,不推薦使用,但本節(jié)我還是先從它入手哈。

1. 測試環(huán)境及關(guān)鍵代碼解釋1.1 簡單測試環(huán)境 使用python3環(huán)境 使用內(nèi)置telnetlib模塊 簡單的實(shí)驗(yàn)環(huán)境

說明:cmd.txt文件里面命令如下: terminal length 0 show clock show ip interface brieflist.txt文件里面的IP如下: 192.168.1.101 192.168.1.102 192.168.1.1031.2 關(guān)鍵代碼

import xx:導(dǎo)入模塊class xx:定義類def xx: 定義函數(shù)try-except :處理可能引發(fā)的異常tn.read_until(expected, timeout=None):等待預(yù)期字符串或等待超時(shí)tn.write(buffer):寫入的字符串(意思發(fā)送給命令給設(shè)備)tn.expect(list, timeout=None):讀顯,list采用正則表達(dá)式(意思把執(zhí)行過程顯示出來)tn.read_very_eager():讀顯(意思把執(zhí)行過程顯示出來)tn.open(host, port=0[, timeout]):連接主機(jī)tn.close():關(guān)閉連接

Tips:終端與網(wǎng)絡(luò)設(shè)備交付的信息是以byte類型,所以要把終端上的字符串encode編碼轉(zhuǎn)換為byte對象,網(wǎng)絡(luò)設(shè)備回顯的byte信息要decode解碼。

2. 完整代碼

’’’歡迎關(guān)注微信公眾號:’diandijishu’ 此平臺是網(wǎng)路工程師個(gè)人日常技術(shù)、項(xiàng)目案例經(jīng)驗(yàn)分享, 為鞏固及提升技術(shù)能力乃至共享所學(xué)所知技術(shù) 也歡迎各位工程師一起分享、一起成長。’’’#!/usr/bin/env python#coding:utf-8’導(dǎo)入模塊’from telnetlib import Telnetimport timeimport logging’定義類’class TelnetClient(): ’初始化屬性’ def __init__(self): self.tn = Telnet() ’定義login_host函數(shù),用于登陸設(shè)備’ def login_host(self,ip,username,password,enable=None,verbose=True): ’連接設(shè)備,try-except結(jié)構(gòu)’ try: self.tn.open(ip,port=23) except: logging.warning(’%s網(wǎng)絡(luò)連接失敗’ %ip) return False ’輸入用戶名’ self.tn.read_until(b’Username:’, timeout=1) self.tn.write(b’n’) self.tn.write(username.encode() + b’n’) rely = self.tn.expect([], timeout=1)[2].decode().strip() #讀顯 if verbose: print(rely) ’輸入用戶密碼’ self.tn.read_until(b’Password:’, timeout=1) self.tn.write(password.encode() + b’n’) rely = self.tn.expect([], timeout=1)[2].decode().strip() if verbose: print(rely) ’進(jìn)去特權(quán)模式’ if enable is not None: self.tn.write(b’enablen’) self.tn.write(enable.encode() + b’n’) if verbose:rely = self.tn.expect([], timeout=1)[2].decode().strip()print(rely)time.sleep(1) rely = self.tn.read_very_eager().decode() if ’Login invalid’ not in rely: logging.warning(’%s登陸成功’ % ip) return True else: logging.warning(’%s登陸失敗,用戶名或密碼錯(cuò)誤’ % ip) return False ’定義do_cmd函數(shù),用于執(zhí)行命令’ def do_cmd(self,cmds): ’讀取文件,for語句循環(huán)執(zhí)行命令’ with open(cmds) as cmd_obj: for cmd in cmd_obj:self.tn.write(cmd.encode().strip() + b’n’)time.sleep(2)rely = self.tn.read_very_eager().decode()logging.warning(’命令執(zhí)行結(jié)果:n %s’ %rely) ’定義logout_host函數(shù),關(guān)閉程序’ def logout_host(self): self.tn.close()if __name__ == ’__main__’: username = ’cisco’ #用戶名 password = ’cisco’ #密碼 enable = ’cisco’ #特權(quán)密碼 lists = ’list.txt’ #存放IP地址文件,相對路徑 cmds = ’cmd.txt’ #存放執(zhí)行命令文件,相對路徑 telnet_client = TelnetClient() ’讀取文件,for語句循環(huán)登陸IP’ with open(lists,’rt’) as list_obj: for ip in list_obj: ’如果登錄結(jié)果為True,則執(zhí)行命令,然后退出’ if telnet_client.login_host(ip.strip(),username,password,enable):telnet_client.do_cmd(cmds)telnet_client.logout_host()time.sleep(2)3. 運(yùn)行效果

Python如何telnet到網(wǎng)絡(luò)設(shè)備

備注:這個(gè)運(yùn)行的效果我只存放了192.168.1.101這個(gè)IP,精簡一下,為了效果。

4. 報(bào)錯(cuò)效果4.1 遠(yuǎn)程連接不上4.2 用戶名和密碼錯(cuò)誤

Python如何telnet到網(wǎng)絡(luò)設(shè)備

5. 碎碎語

這些只是一些簡單的代碼,待優(yōu)化的地方還是很多,先給小伙伴們學(xué)習(xí)一下,telnet協(xié)議是個(gè)不安全的,基本網(wǎng)絡(luò)環(huán)境很少用了,ssh為常用的協(xié)議,安全又好用,下個(gè)文章我給大家介紹python如何使用ssh模塊哈。本人代碼功夫不深,如有缺陷望指教,多謝。

以上就是Python如何telnet到網(wǎng)絡(luò)設(shè)備的詳細(xì)內(nèi)容,更多關(guān)于python telnet到網(wǎng)絡(luò)設(shè)備的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 小威小说网 - 新小威小说网 - 小威小说网小说搜索引擎 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 承插管件_不锈钢承插管件_锻钢高压管件-温州科正阀门管件有限公司 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 一氧化氮泄露报警器,二甲苯浓度超标报警器-郑州汇瑞埔电子技术有限公司 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 建筑资质代办-建筑企业资质代办机构-建筑资质代办公司 | 筒瓦厂家-仿古瓦-寺庙-古建琉璃瓦-宜兴市古典园林建筑陶瓷厂有限公司 | 广州网站建设_小程序开发_番禺网站建设_佛山网站建设_粤联网络 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 立刷【微电签pos机】-嘉联支付立刷运营中心 | 济南轻型钢结构/济南铁艺护栏/济南铁艺大门-济南燕翔铁艺制品有限公司 | crm客户关系管理系统,销售管理系统,crm系统,在线crm,移动crm系统 - 爱客crm | 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 工业rfid读写器_RFID工业读写器_工业rfid设备厂商-ANDEAWELL | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | RFID电子标签厂家-上海尼太普电子有限公司 | pH污水传感器电极,溶解氧电极传感器-上海科蓝仪表科技有限公司 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 板式换热器_板式换热器价格_管式换热器厂家-青岛康景辉 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 撕碎机,撕破机,双轴破碎机-大件垃圾破碎机厂家 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 范秘书_懂你的范文小秘书 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 全国国际学校排名_国际学校招生入学及学费-学校大全网 | 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 桑茶-七彩贝壳桑叶茶 长寿茶| 大巴租车平台承接包车,通勤班车,巴士租赁业务 - 鸿鸣巴士 |