首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用python和ssh遍历交换机的所有端口并逐个禁用它们?

使用Python和SSH遍历交换机的所有端口并逐个禁用它们的步骤如下:

  1. 导入必要的Python库,如paramiko和re。
  2. 创建SSH客户端对象,并使用SSH连接到交换机。
  3. 使用SSH客户端对象发送登录凭据(用户名和密码)进行身份验证。
  4. 使用SSH客户端对象发送命令来获取交换机的端口列表。
  5. 使用正则表达式解析命令输出,提取端口号。
  6. 遍历端口列表,对每个端口执行禁用操作。
  7. 使用SSH客户端对象发送命令来禁用特定端口。
  8. 检查命令执行结果,确保端口已成功禁用。
  9. 关闭SSH连接。

下面是一个示例代码,演示如何使用Python和SSH遍历交换机的所有端口并逐个禁用它们:

代码语言:txt
复制
import paramiko
import re

# SSH连接信息
hostname = '交换机IP地址'
port = 22
username = '用户名'
password = '密码'

# 创建SSH客户端对象
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

try:
    # 连接到交换机
    client.connect(hostname, port, username, password)

    # 发送命令获取端口列表
    stdin, stdout, stderr = client.exec_command('show interfaces status')

    # 解析命令输出,提取端口号
    output = stdout.read().decode('utf-8')
    port_list = re.findall(r'(\w{2}\d{1,2}/\d{1,2})', output)

    # 遍历端口列表,逐个禁用端口
    for port in port_list:
        # 发送禁用端口的命令
        disable_command = f'interface {port}\nshutdown\n'
        stdin, stdout, stderr = client.exec_command(disable_command)

        # 检查命令执行结果
        output = stdout.read().decode('utf-8')
        if 'Invalid input' in output:
            print(f'禁用端口 {port} 失败')
        else:
            print(f'禁用端口 {port} 成功')

finally:
    # 关闭SSH连接
    client.close()

请注意,此示例代码仅供参考,实际操作中需要根据交换机的具体型号和操作系统进行相应的命令调整。另外,为了确保安全性,请确保在使用SSH连接时使用安全的认证方式,如密钥认证。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

了解vSphere中BPDU筛选器功能

当物理交换机端口链路上升时,STP协议开始计算BPDU交换以确定端口是否应处于转发或阻塞状态。桥接协议数据单元(BPDU)帧跨物理交换机端×××换以识别根网桥形成树形拓扑。...由于BPDU防护配置,物理交换机依次禁用端口。要从此上行链路流量路径故障中恢复,vSphere主机会将该虚拟机流量移至另一个上行链路,从而禁用另一个交换机端口。...如果要在环境中所有主机上启用此功能,则必须单独在所有主机上更改该设置。 启用BPDU过滤后,它将应用于已配置主机上所有出站流量。因此,将过滤与此主机关联所有标准分布式交换机端口。...三、如何启用bpdu 要从vSphere Client启用BPDU筛选器: 使用vSphere Client,切换到“ 主机群集”视图。 从左窗格清单树视图中单击所需主机。...要从命令行启用BPDU筛选: 使用SSH或直接控制台用户界面(DCUI)连接到所需主机。有关更多信息,请参见在ESXi 5.05.1中使用ESXi Shell(2004746)。

2.3K10

如何使用 Python 脚本自动备份华为路由器交换机配置?

在本文中,我们将学习如何使用 Python 脚本自动备份华为路由器交换机配置。我们将了解如何通过 SSH 连接设备、执行备份命令,并将备份保存到本地计算机中。...导入所需库 在脚本开头,导入所需 Python 库: import paramiko import time 创建 SSH 连接 使用 Paramiko 库,创建一个 SSH 连接对象建立连接...完整示例代码 以下是一个完整示例代码,展示了如何使用 Python 脚本自动备份华为路由器交换机配置: import paramiko import time # 创建 SSH 连接 ssh =...结论 使用 Python 脚本自动备份华为路由器交换机配置可以节省时间精力,确保重要网络设备配置得到及时备份。...核心交换机四种关键技术:链路聚合、冗余、堆叠热备份,真简单! 交换机4种网络结构方式:级联方式、堆叠方式、端口聚合方式、分层方式

78320
  • SDN世界里,网工需要哪些技能?

    首先要关注于修改网络参数,启用或禁用服务器进程(DHCP客户端和服务器模式),通过SSH连接Linux命令行接口(CLI),以及执行正确Linux关机操作。...如Java、python或C/C++等。一种语言概念技能通常可以触类旁通地应用到其他语言上。Python是一种很容易学习脚本语言。...要学习如何使用管道命令将多个小工具脚本整合在一起来完成更大任务。一个好例子就是重命名大量文件,例如删除“.txt”后缀添加“.cfg”后缀。...最后,大多数开源项目都使用Git来维护它们代码,因此一定要学习如何它来存储、获取存档软件项目。...可以从实现自动设备配置检查开始,使用网络变更与配置管理(NCCM)系统自动地检查所有网络设备上正确配置功能。首先,保证所有设备简单网络管理协议(SNMP)AAA配置与模板相匹配。

    1.1K80

    网络运维必会:批量登录地址不连续交换机

    01 实验目的 通过Python脚本批量登录所有交换机,并在每个交换机上都开启EIGRP。...(2)在CentOS上创建一个名为ip_listTXT文件,把所有交换机管理IP地址都放进去,注意该文件等下要创建脚本位于同一个文件夹下,如下图所示。...(3)在运行代码前,检查5台交换机配置,确认它们都没有开启EIGRP。 运行代码前,SW1配置如下图所示。 运行代码前,SW2配置如下图所示。 运行代码前,SW3配置如下图所示。...5个交换机管理IP地址文档(ip_list.txt),通过for循环来依次遍历readlines()方法返回列表中每个元素(即每个交换机管理IP地址),即可达到批量依次登录SW1~SW5目的...f.close()ssh_client.close 05 验证 (1)因打印出回显内容过长,这里只截取自动登录SW1、SW2做配置部分代码,可以看见代码中自动登录了每个交换机开启EIGRP保存配置

    34520

    网工Python之路之paramiko 模块实验(一)初来乍到

    本次实验只需要用到 Linux ,透明交换机SW(启动即可,无需配置)、LSW1(Python 第三方库 paramiko 要操控设备。),其它 LSW未启动,后续实验再使用。...实验目的: 用Python Paramiko 模块实现 SSH 登陆单个交换机LSW1(192.168.242.11),为其 LoopBack0 端口配置IP地址 1.1.1.1 /32。...实验目的: 用Python Paramiko 模块实现 SSH 登陆单个交换机LSW1(192.168.242.11),为其 LoopBack0 端口配置IP地址 1.1.1.1 /32。...ssh Python 代码 代码讲解,大神在书里专栏中已逐条做了解释,我做主要目标是把大神 linux+思科设备,转成 windows + 华为设备。...3、虽然 telnet 是明文传输,安全性不够,但其实大量非公网业务设备依然使用 telnet 进行管理,如何调动 telnetlib 模块来使用

    1.6K10

    日拱一卒,量大管饱,MIT手把手教你配环境

    我们将会一起来看看怎样同时运行多个命令,并且追踪它们,以及如何暂停、启动停止进程,还有如何让一个进程在后台执行。...我们同样会研究如何使用ssh命令来远程控制机器。 任务控制 在一些情况下,你需要终端一个持续运行程序。比如一个命令需要很长时间才能结束(比如在一个巨大文件夹当中使用find搜索)。...但当你在服务器上运行时你该如何操作呢?服务器上端口通常不会通过网络暴露给你。 此时就需要使用端口转发,端口转发有两种,一种是本地端口转发,一种是远程端口转发。...bg 接着使用pgreppkill af选项含义: a表示匹配进程祖先进程,f表示匹配所有参数列表,默认只匹配进程名称 如果你想要在一个进程结束之后启动另外一个进程,应该怎么操作呢?...使用python -m http.server 8888 在您虚拟机中启动一个 Web 服务器通过本机http://localhost:9999访问虚拟机上 Web 服务器 使用sudo vim

    1.4K20

    交换机安全功能介绍

    交换机访问安全为了防止交换机被攻击者探测或控制,必须在交换机上配置基本安全:1、使用合格密码2、使用 ACL,限制管理访问3、配置系统警告用语4、禁用不需要服务5、关闭 CDP6、启用系统日志7...、使用 SSH 替代 Telnet8、关闭 SNMP 或使用 SNMP V3   交换机端口安全    交换机依赖 MAC 地址表转发数据帧,如果 MAC 地址不存在,则交换机将帧转发到交换机每一个端口...要防止MAC 泛洪攻击,可以配置端口安全特性,限制端口上所允许有效 MAC 地址数量,定义攻击发生时端口动作:关闭、保护、限制。   ...ARP Inspection)可以用来检查所有非信任端口 ARP 请求和应答(主动式 ARP 非主动式 ARP) ,确保应答来自真正 MAC 所有者。...交换机通过检查端口纪录 DHCP 绑定信息 ARP 应答 IP 地址决定其是否是真正 MAC 所有者,不合法 ARP 包将被拒绝转发。

    65640

    Cisco PT 案例二:为路由器配置连接SSH

    案例目标 通过本案例,你可以掌握如下技能: 配置 SSH 使用 SSH 访问路由器 2. 背景知识 过去对路由器远程管理访问一般使用 TCP 端口 23 上 Telnet。...SSH 使用 TCP 端口 22。它提供类似出站 Telnet 连接功能,但连接是加密。通过认证和加密,SSH 允许在不安全网络中进行安全通信。...打开路由器 Config配置页面,按拓扑图上标注分别配置两个路由 器显示名、主机名接口 Fa0/0  IP 地址,注意激活该接口。 步骤 3:配置 PC IP 地址网关。...)# 6) 在 VTY 线路上禁用 Telnet,激活 SSH。...R1(config)#line vty 0 4 R1(config-line)#no transport input all //禁用所有流量 R1(config-line)#transport input

    2.1K20

    网工Python之路之netmiko模块实验(三)连接多机

    网工Python之路之基础笔记(一) 网工Python之路之基础笔记(二) 网工Python之路之paramiko 模块实验(一)初来乍到 网工Python之路之paramiko 模块实验(二)循环遍历...Python之路之paramiko 模块实验(六)FTP推送备份文件 网工Python之路之paramiko 模块实验(七)回显保存成文件,Win中处理空行 实验拓扑: 【SSH 客户端】Win10...【透明交换机】SW1(启动即可,无需配置,给云彩扩展端口使用)。 【SSH 操作对象】Layer3Switch-x,IP为 192.168.242.1x/24。...前面的实验,我们都是通过netmiko登录1台设备,这次我们来用netmiko模块操作多台设备,顺便串一下以前paramiko模块实验中用到“循环遍历、读取文件、异常处理”等,当做温故而知新吧。...实验小结: (1)这次我们借netmiko模块操作多台设备机会,顺便串一下以前paramiko模块实验中用到“循环遍历、读取文件、异常处理”等,当做温故而知新吧。

    1.2K20

    带你认识 flask linux 部署

    如果你对完全禁用密码感到紧张,可以跳过此更改,但对于生产服务器来说,这是一个非常好主意,因为攻击者经常在所有服务器上尝试随机帐户名密码希望能中奖。...任何其他端口将不被允许 06 安装基础依赖 如果你遵循了我建议配置了Ubuntu 16.04发行版服务器,那么你系统完全支持Python 3.5,因此这是我将用于部署Python版本 基础Python...现在我需要创建一个虚拟环境使用所有的包依赖项来填充它,在第十五章中,我已将依赖包列表保存到requirements.txt文件中: $ python3 -m venv venv $ source venv...我将使用上面安装supervisor包来执行此操作。 Supervisor使用配置文件定义它要监视什么程序以及如何在必要时重新启动它们。...我希望这是一个安全部署,所以我要配置端口80将所有流量转发到将要加密端口443。我将首先创建一个SSL证书。

    1.3K20

    网工Python之路之paramiko 模块实验(五)异常处理

    思科实验: 平台工具: 实验平台:WIN10 使用工具:Evn-ng、python 3.6.8 实验拓扑: 注意: 书中使用了 192.168.2.0/24 ,我这里才有eve桥接虚拟网段192.168.242.0...(抄书哈) 2、用上面的方法登录所有交换机,把华为交换机默认 MSTP 修改成 STP。 实验准备: LSW2 E0/0 进行 shutdown,模拟上联链路故障(拓扑端口也变红。)...华为实验: 平台工具: 实验平台:WIN10 使用工具:eNSP v1.3.00.100、python 3.7.3 实验拓扑: 注意: 书中使用了 192.168.2.0/24 ,我这里才有eve桥接虚拟网段...(抄书哈) 2、用上面的方法登录所有交换机,把华为交换机默认 MSTP 修改成 STP。...实验准备: LSW2 GE0/0/1 进行 shutdown,模拟上联链路故障(拓扑端口也变红。) LSW3 用户 python 密码由 123 改为 456。

    78920

    网工Python之路之netmiko模块实验(一)初来乍到

    网工Python之路之基础笔记(一) 网工Python之路之基础笔记(二) 网工Python之路之paramiko 模块实验(一)初来乍到 网工Python之路之paramiko 模块实验(二)循环遍历...它做了很多改进,如精简了 show (华为就是 display )命令执行回显内容读取,简化了设备配置命令,支持了多厂商设备和平台。...实验拓扑: 【SSH 客户端】Win10 虚拟网卡,IP 为 192.168.242.2/24,桥接到云彩,Python所在。 【透明交换机】SW1(启动即可,无需配置,给云彩扩展端口使用)。...实验目的: 使用 netmiko 模块登录交换机 Layer3Switch-2 ,给它 LoopBack0 口配置 IP 2.2.2.2/32, 之后保存退出,打印回显。...大家已经发现用 netmiko 的话,代码会清晰很多,如果配合我们在 paramiko 实现中 ip_file、cmd_file 等操作,把“待操作设备”“待执行命令”都独立梳理出来,那代码会更加清晰明了

    1.8K10

    【干货】关于STP生成树,最易犯九大错误!

    另一种选择就是使用可堆叠交换机配置每个上行链路端口,连接至堆叠交换机不同交换机。由于堆叠交换机可以配置成它就是一只交换机,那样可以使用端口信道。...因此,灾难恢复站点交换机了解所有的VLAN,使用生成树来确定城域以太网链路是VLAN 10、2030通向根路径。 然而,灾难恢复站点交换机认为,它是该干线上未使用其他VLANSTP根。...使用VTP企业应该慎重使用,知道哪些交换机是VTP服务器或客户机,使用VTP密码,删除不再提供服务交换机配置VTP信息,并且在不需要VTP场合下考虑禁用VTP。...许多企业使用思科PortFast接口设置,帮助为连接到我们知道不运行STP计算机端口迅速调出交换机端口。激活端口之前,让端口连接至等待侦听学习状态计算机毫无意义。...因此,配置方面做到一致很重要,力求让你所有网络设备都使用32位长路径成本这一较新度量指标。 9、禁用生成树 我们偶尔会碰到这种网络:生成树协议故意被禁用

    2.9K10

    什么是端口镜像?如何配置端口镜像?为啥说它是网络安全第一道防线?

    缺点 在频繁使用全双工链路上丢弃数据包。 过滤掉物理层错误。 复制数据可能会加重交换机 CPU 负担。 可能会改变帧时序、改变响应时间降低网络性能。...下面瑞哥将从华为、思科、junifer三家厂商交换机为例,给大家简单介绍如何交换机设备上配置端口镜像,具体操作可能会因设备型号操作系统版本而有所不同,因此请参考您设备型号和文档以获取详细配置指南...华为 使用CLI配置端口镜像: 登录设备: 使用SSH、Telnet或控制台连接到您华为交换机。...: save 退出系统视图: 输入以下命令退出系统视图: quit Cisco 使用CLI配置本地端口镜像(在Cisco交换机上): 登录设备: 使用SSH、Telnet或控制台连接到您Cisco...配置: 配置端口镜像时,需要选择一个源端口一个目标端口,源端口所有流量将被复制到目标端口供监控设备使用。 适用性: 适用于需要监控特定端口所有流量情况,例如,监视网络连接或排查故障。 2.

    6.7K31

    虚拟机连网(多台虚拟机互联、虚拟机与真机互联、虚拟机上网)

    同时,在主机上对应有VMware Network Adapter VMnet1VMware Network Adapter VMnet8两块虚拟网卡,它们分别作用于仅主机模式与NAT模式下。...在桥接作用下,类似于把物理主机虚拟为一个交换机所有桥接设置虚拟机连接到这个交换机一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下网卡与网卡都是交换模式,相互可以访问而不干扰。...四)如何设置各种模式: 设置桥接模式: 先确认一下真机ip地址、网关、DNS等信息,要记住SSID名称后续有用。...其中主机端口即宿主物理网卡端口,可以任意填写端口号,因为我们这里要实现ssh远程登录功能,这里填写“22”。...虚拟机IP地址按照虚拟机实际情况填写,虚拟机端口是22(因为外部设备最终是要通过22端口来访问虚拟机ssh服务)。

    5.9K20

    linux 服务器25个强化安全提示

    # chkconfig serviceName off 使用 RPM 包管理器,例如yum或者 apt-get工具列出系统上所有已安装软件包使用以下命令删除它们。...# yum -y remove package-name # sudo apt-get remove package-name 4.检查监听网络端口 netstat 网络命令可以查看所有打开端口相关程序...使用 chkconfig 命令禁用系统中所有不需要网络服务。 # netstat -tulpn 5....建议更改默认值 SSH 22端口号与其他一些更高级别的端口号。打开主SSH 配置文件,做一些如下参数来限制用户访问。...监控用户活动 如果你要与大量用户打交道,那么收集他们使用每个用户活动进程信息并在以后或在任何类型性能、安全问题情况下对其进行分析很重要。但是我们如何监控收集用户活动信息。

    50431

    ensp 网络运维自动化运维(一、环境搭建及基础配置)

    此处注意一定要先修改网卡IP地址再添加云,否者云绑定网卡ip不会是你修改那个IP地址 云先要绑定刚刚修改vmvare1网卡UPD,再在端口映射器处将出端口编号修改为2,勾选双向端口,点击增加...简单介绍python远程连接方法 python中支持SSH协议实现远程连接设备模块主要有ParamikoNetmiko两种,应Netmiko比Paramiko要简单好用太多本文主要使用Netmiko...2.使用pycharm创建项目 随便创建一个Pure Python 创建完成后在项目里项目下创建一个名为ssh_Netmiko.py脚本 3....安装Netmiko模块 pip3 install Netmiko 四、简单实验(远程配置端口) 这里我们来写个脚本来远程配置交换机LoopBack 1端口ip为 192.168.10.200/24...= ConnectHandler(**sw1) # **作为标识不可省去 print("Successfully connected to " + sw1['ip']) # 如果登录成功提示用户告知登录交换机

    1.6K12

    基于西门子Scalance交换机网络安全

    02 访问协议控制 用户登录SCALANCE X有多种协议支持方式,例如FTP,TELNET,SSHHTTP等协议。如图2所示,可以禁止一些未被使用协议来满足工业安全要求。...04 禁用未被使用以太网接口 对于在项目中暂时未使用以太网口可以通过如图4所示界面,禁用该口,这样相当于从物理上禁用,从而避免误连接而导致网络系统故障。...访问控制列表是交换机、路由器及防火墙中常用技术,用来根据事先设定访问控制规则,过滤某些特定MAC地址、IP地址、协议类型、服务类型数据包,合法允许通过,不合法阻截丢弃。...在点击目录树Switch-Unicast Filter(ACL),可以看见右侧当前单播过滤表,其中可以看到通过5.1端口交换机学习到PG/PC1PG/PC2MAC地址(如图8所示)。...如图16所示,指定应用802.1X进行认证交换机端口

    72630

    Cisco交换机与路由器命令总结

    CPU使用率    show vlan br    查看vlan数据库    show ip int brief //查看所有端口状况 show int des    //查看所有端口描述 show...789 (config-lline)#login 说明:在全局配置模式下使用service password-encryption命令加密明文口令 write保存设置 5.Cisco路由器与交换机口令恢复...6.常用专用命令: Switch(config)#no ip domain-lookup //禁用域名解析 witch(config)#line console 0            //进入控制台接口...,记录 storm-control broadcast level 0.80 //控制广播包突发百分比 storm-control action shutdown //暴风控制违例时端口进入errdisable...  #本地验证登陆 transport input SSH  #只允许使用SSH登陆 exit 配置登陆IP: config t int vlan 1 ip add 1.1.1.1 255.255.255.0

    87910
    领券