在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

介紹Python Netmiko的基本用法和幾個示例

網絡技術干貨圈 ? 來源:網絡技術干貨圈 ? 2023-04-28 09:56 ? 次閱讀

Python Netmiko是一個基于Paramiko的多廠商網絡設備自動化管理庫,支持SSH和Telnet協議,并能夠支持多種廠商的網絡設備,例如Cisco、Juniper、Arista、HP等。

本文將介紹Python Netmiko的基本用法和幾個示例,包括連接設備、發送命令和配置設備等。

安裝

使用pip安裝Python Netmiko:

pipinstallnetmiko

連接設備

fromnetmikoimportConnectHandler

#設備連接信息
device={
'device_type':'cisco_ios',
'ip':'192.168.1.1',
'username':'admin',
'password':'admin',
}

#連接設備
conn=ConnectHandler(**device)

#斷開連接
conn.disconnect()

上述代碼使用了ConnectHandler方法來連接Cisco IOS設備。其中,device_type參數用于指定設備的類型,ip參數指定設備的IP地址,username和password參數指定連接設備所需的用戶名和密碼。**device參數表示將device字典中的所有鍵值對解包并作為參數傳遞給ConnectHandler方法。

發送命令

fromnetmikoimportConnectHandler

device={
'device_type':'cisco_ios',
'ip':'192.168.1.1',
'username':'admin',
'password':'admin',
}

#連接設備
conn=ConnectHandler(**device)

#發送命令
output=conn.send_command('showinterfaceGigabitEthernet0/0/0')
print(output)

#斷開連接
conn.disconnect()

在上述代碼中,我們使用send_command方法向設備發送命令。該方法返回設備返回的輸出內容,并將其存儲在output變量中。

配置設備

fromnetmikoimportConnectHandler

device={
'device_type':'cisco_ios',
'ip':'192.168.1.1',
'username':'admin',
'password':'admin',
}

#連接設備
conn=ConnectHandler(**device)

#配置設備
config_commands=['interfaceGigabitEthernet0/0/0','ipaddress192.168.1.2255.255.255.0']
output=conn.send_config_set(config_commands)
print(output)

#保存配置
output=conn.save_config()
print(output)

#斷開連接
conn.disconnect()

在上述代碼中,我們使用send_config_set方法向設備發送配置命令。該方法將列表中的命令發送到設備,并返回設備返回的輸出內容。然后,我們使用save_config方法保存配置更改。

批量配置

fromnetmikoimportConnectHandler
fromgetpassimportgetpass

password=getpass()

withopen('devices.txt')asf:
devices=f.read().splitlines()

foripindevices:
device={
'device_type':'cisco_ios',
'ip':ip,
'username':'admin',
'password':password,
'port':22,
}
ssh=ConnectHandler(**device)
config_commands=['interfaceloopback1','ipaddress1.1.1.1255.255.255.255']
output=ssh.send_config_set(config_commands)
print(output)
ssh.disconnect()

上述代碼展示了如何使用Netmiko連接到多個設備,并批量執行配置命令。在本例中,從devices.txt文件讀取IP地址,并使用相同的用戶名和密碼連接到設備。然后,使用send_config_set方法發送配置命令,并打印輸出。

使用Netmiko子類

fromnetmikoimportConnectHandler
fromnetmiko.ciscoimportCiscoIosBase

classMyDevice(CiscoIosBase):
defbackup_running_config(self):
filename=f"{self.host}-running-config.txt"
command="showrunning-config"
output=self.send_command(command)
withopen(filename,'w')asf:
f.write(output)

device={
'device_type':'cisco_ios',
'ip':'10.0.0.1',
'username':'admin',
'password':'password',
'port':22,
}

ssh=MyDevice(**device)
ssh.backup_running_config()
ssh.disconnect()

上述代碼展示了如何使用Netmiko的子類來擴展其功能。在本例中,創建了一個名為MyDevice的子類,并添加了一個備份running-config的方法。然后,使用MyDevice類連接到設備,調用backup_running_config方法,并斷開連接。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • iOS
    iOS
    +關注

    關注

    8

    文章

    3399

    瀏覽量

    150991
  • SSH
    SSH
    +關注

    關注

    0

    文章

    189

    瀏覽量

    16406
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85041

原文標題:網絡工程師學Python-36-多廠商網絡設備自動化管理庫Netmiko

文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    erode函數用法示例

    《OpenCV3編程入門》書本配套源代碼erode函數用法示例
    發表于 06-06 15:09 ?1次下載

    bilateralFilter函數用法示例

    《OpenCV3編程入門》書本配套源代碼bilateralFilter函數用法示例
    發表于 06-06 15:20 ?6次下載

    canny函數用法示例

    《OpenCV3編程入門》書本配套源代碼canny函數用法示例
    發表于 06-06 15:20 ?3次下載

    HoughLines函數用法示例

    《OpenCV3編程入門》書本配套源代碼:HoughLines函數用法示例
    發表于 06-06 15:20 ?3次下載

    MedianBlur函數用法示例

    《OpenCV3編程入門》書本配套源代碼:MedianBlur函數用法示例
    發表于 06-06 15:20 ?14次下載

    GaussianBlur函數用法示例

    《OpenCV3編程入門》書本配套源代碼:GaussianBlur函數用法示例
    發表于 06-06 15:20 ?5次下載

    remap函數用法示例

    《OpenCV3編程入門》書本配套源代碼:remap函數用法示例
    發表于 06-06 15:20 ?2次下載

    sobel函數用法示例

    《OpenCV3編程入門》書本配套源代碼:sobel函數用法示例
    發表于 06-06 15:20 ?2次下載

    pyrUp函數用法示例

    《OpenCV3編程入門》書本配套源代碼:pyrUp函數用法示例
    發表于 06-06 15:20 ?1次下載

    pyrDown函數用法示例

    《OpenCV3編程入門》書本配套源代碼:pyrDown函數用法示例
    發表于 06-06 15:20 ?16次下載

    Scharr函數用法示例

    《OpenCV3編程入門》書本配套源代碼:Scharr函數用法示例
    發表于 06-06 15:20 ?14次下載

    python代碼示例之基于Python的日歷api調用代碼實例

    本文檔的主要內容詳細介紹的是python代碼示例之基于Python的日歷api調用代碼實例。
    發表于 09-06 14:25 ?42次下載
    <b class='flag-5'>python</b>代碼<b class='flag-5'>示例</b>之基于<b class='flag-5'>Python</b>的日歷api調用代碼實例

    TensorRT的Python API的基本用法和接口解析

    本章說明 Python API 的基本用法,假設您從 ONNX 模型開始。?onnx_resnet50.py示例更詳細地說明了這個用例。
    的頭像 發表于 05-13 15:46 ?4223次閱讀

    Python常用的幾個命令介紹

    Python是一種功能強大的編程語言,廣泛用于數據分析、人工智能和Web開發等領域。在使用Python時,需要掌握一些基本的命令,以便更好地管理和運行代碼。下面將介紹Python常用的
    的頭像 發表于 06-21 17:12 ?2409次閱讀

    split在python中的用法

    split在python中的用法 split()是Python中一個非常常用的字符串函數,它能夠根據指定的分隔符將一個字符串分割成多個子字符串,并返回一個包含這些子字符串的列表。本文將詳細介紹
    的頭像 發表于 12-25 15:12 ?2099次閱讀
    主站蜘蛛池模板: 国产黄大片在线观看 | 人人插人人射 | 在线免费观看毛片网站 | 亚洲六月丁香六月婷婷花 | 91大神成人偷拍在线观看 | 成人免费的性色视频 | 色综合色综合色综合色综合网 | 天天操天天爽天天射 | 婷婷五月情| 18视频网站在线观看 | 色一乱一伦一区一直爽 | 日本黄页网址 | 美女国产在线观看免费观看 | 男人在线视频 | 欧美无遮挡一区二区三区 | xx毛片 | 天天摸天天躁天天添天天爽 | 91破处视频 | 99午夜 | 一级黄a | 中文字幕一区二区三区视频在线 | 岬奈奈美在线 国产一区 | 欧美日韩伦理 | 久操视频免费看 | 亚洲插插插 | 亚洲最色网 | xxxx大片| 免费色站 | 成人伊人青草久久综合网 | 四虎国产精品永久免费网址 | 操女人免费视频 | bt在线www天堂资源网 | 成人激情视频网 | 给我免费播放片黄色 | 人人草人人澡 | 久久综合九色综合欧洲色 | 国产真实灌醉美女疯狂弄 | 日本免费一级 | 欧美人与动性xxxxbbbb | 欧美激情综合 | 亚洲韩国在线一卡二卡 |