使用paramiko控制交换机

简介

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。

由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux,

Solaris, BSD, MacOS X,

Windows等,paramiko都可以支持。因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。

此外,由于常见的交换机都支持ssh,那么使用paramiko控制交换机变成现实。

安装

pip 安装方式

pip install paramiko

如果没有安装pycrypto,则需要先安装pycrypto库
使用

paramiko提供了多种连接方式,在此我们使用ssh的方式连接交换机并发送命令以实现控制交换机的目的。

控制方式

通常有两种控制方式,使用SSHClient和使用terminal,这两种的差别分别为:

(1)使用SSHClient发送命令后,ssh通道自动关闭

(2)使用terminal发送命令后,ssh通道不会自动关闭

常规的控制流程

SSHClient使用流程

注意:获取exec_command返回的数据,可以一次性获取全部

terminal使用流程

注意:获取从terminal的返回数据,只能通过recv指定接收的数据量,遇到数据量大的时候,可以采用循环接收的方式.同时加入超时的判断,让程序的逻辑更为完善,代码如下:

当然,你可以加入结束符的控制,遇到接收的字符串中有特定的结束符,则跳出接收循环即可。

注意点

对交换机的控制,如果一个逻辑中包含了一个操作,则直接使用SSHClient控制即可;但事实上,对交换机的操作往往是需要执行一系列的命令,如果还是使用SSHClient就会显得力不从心,虽然SSHClient可以一次性发送多条命令,但同时发送命令会导致有些命令会执行不成功。因此,使用terminal发送命令,更为适合,控制起来也会更方便。


文章来自公众号:睿江云计算

睿江云官网链接:https://www.eflycloud.com/home?from=RJ0024

原文地址:https://blog.51cto.com/13475644/2401837

时间: 2024-11-02 06:42:46

使用paramiko控制交换机的相关文章

Mininet实验 脚本实现控制交换机行为

实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为.在本实验中,使用Mininet基于python的脚本,调用“ovs-vsctl”命令直接控制Open vSwitch. 实验内容 一台交换机两台主机,实现从1端口进入的数据流转发到2端口,从2端口进入的数据流转发到1端口 mininet脚本代码如下: 1 from mininet.net import Mininet 2 from mininet.node import Node 3 from mininet.l

如何实现同一交换机下广播域的隔离(VLAN)?华为交换机配置样例

华为交换机VLAN配置 VLAN的划分是在交换机的基础上建立的,怎样使交换机完成这项工作? 在探索之前,先了解网络中的两个区域: 什么是冲突域? 冲突域是与外界交互的数据必然会送达的区域.在HUB时代,HUB会将接收到某一接口的数据向所有链接它的端口,并不做选路决策,所以HUB组成的网络就是一个典型的冲突域.而在交换机之中具有更智能的选路决策功能,使得交换机一个接口下的网络是一个冲突域,所以交换机可以隔离冲突域. 什么是广播域? 在网络中的某一节点发送一个广播数据(broadcast data)

如果按交换机是否支持网络管理功能

网管型交换机的任务就是使所有的网络资源处于良好的状态.网管型交换机产品提供了基于终端控制口(Console).基于Web页面以及支持Telnet远程登录网络等多种网络管理方式.因此网络管理人员可以对该交换机的工作状态.网络运行状况进行本地或远程的实时监控,纵观全局地管理所有交换端口的工作状态和工作模式.网管型交换机支持SNMP协议,SNMP协议由一整套简单的网络通信规范组成,可以完成所有基本的网络管理任务,对网络资源的需求量少,具备一些安全机制.SNMP协议的工作机制非常简单,主要通过各种不同类

cisco交换机操作(基本查询命令)【一】

在网络环境错综复杂的今天,交换机已经不可或缺了,所以交换机的厂商也发展很快,这里就拿cisco来给大家简单的交流一下!cisco:思科:简单的介绍一下:思科公司是全球领先的网络解决方案供应商.cisco的名字取自San Francisco,那里有座为闻名于世界的金门大桥.可以说,依靠自身的技术和对网络经济模式的深刻理解,思科成为了网络应用的成功实践者之一.与此同时思科正在致力于无数的企业构筑网络间畅通无阻的"桥梁",并用自己明锐的洞察力.丰富的行业经验.先进的技术,帮助企业把网络应用转

实验18 交换机的端口安全

[实验名称] 交换机的端口安全配置 [实验目的] 掌握交换机的端口安全功能,控制用户的安全接入 [背景描述] 你是一个公司的网络管理员,公司要求对网络进行严格控制.为了防止公司内部用户的 IP 地址冲突,防止公司内部的网络攻击和破坏行为.为每一位员工分配了固定的 IP 地址, 并且限制只允许公司员工主机可以使用网络,不得随意连接其他主机.例如:某员工分配的 IP地址是172.16.1.55/24,主机MAC地址是00-06-1B-DE-13-B4,该主机连接在1台2126G 上边. [需求分析]

用cisco模拟器远程登陆不同网段交换机

在思科模拟器上这几天为了一个不同网段远程登陆控制交换机的小实验用了三天时间做了一些小的总结希望可以帮助大家.1.首先:准备实验的设备,pc机.交换机2960.路由器2911.然后 连上线,如图:因为思科模拟器效果不是很稳定这里建议可以用自动连接 直通线或交叉线都可以.注意:思科模拟器设备默认情况下端口是关闭的,需要用命令开启 no shutdown2.配置pc机ip地址.网关 192.168.1.1 网关 192.168.1.254 3.配置路由器 interface gi0/0 192.168

软件定义网络基础---SDN控制平面

一:SDN控制平面 一个或多个SDN控制器组成,是网络的大脑. ? 对底层网络交换设备进行集中管理,状态监测.转发决策以及处理和调 度数据平面的流量: ? 通过北向接口向上层应用开放多个层次的可编程能力. (一)典型的SDN控制器体系架构 SDN控制平面分为6层 南向接口层主要对各种南向接口协议的支持,如Open Flow,Netconf,OVSDB等,控制器通过接口层的通道实现对底层网络的管理 抽象逻辑层主要是将服务抽象出来,实现各种通信协议的适配,为各模块和应用提供一致的服务 基础网络层在任

跨vlan通信-----单臂路由技术

跨vlan通信-----单臂路由技术 实验目标: 1):实现跨vlan通信 为什么要使用vlan: 1):提高性能-----------------同一个广播域发送广播,造成网络堵塞. 2):提高安全性--------------同一广播域中,机器设备过多,安全性降低. 实验网络拓扑 pc1                             pc2 pc3                                 pc4 VLAN划分与设定 进入交换机1 <Huawei>syste

OpenFlow:Enabling Innovation in Campus Networks

SDN领域,OpenFLow现在已经成为了广泛使用的南向接口协议.若想好好学习SDN,在这个领域有所进步,需要熟悉OpenFlow协议.我最近找了篇有关OpenFLow的论文,发现最早该协议是在Sigcomm2008中的一篇论文<OpenFlow:Enabling innovation in Campus Networks>,作者之一是SDN领域创始人之一的Nick McKeown.现在我写下一些学习笔)记: 1. 最早该协议是作用于校园网建设,现在已经成为较为通用的SDN南向协议.至于网络的