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

使用Python pysnmp拉取交换机SNMP社区列表

SNMP(Simple Network Management Protocol)是一种用于网络设备管理的协议,它允许网络管理员通过监控和配置网络设备来实现网络管理。pysnmp是一个基于Python的SNMP库,它提供了一组功能强大的API,用于与SNMP设备进行交互。

交换机是一种网络设备,用于在计算机网络中连接多个设备,并通过交换数据包来实现设备之间的通信。交换机通常支持SNMP协议,以便网络管理员可以通过SNMP来监控和管理交换机。

使用Python pysnmp库来拉取交换机的SNMP社区列表,可以通过以下步骤实现:

  1. 导入pysnmp库:
代码语言:txt
复制
from pysnmp.hlapi import *
  1. 定义SNMP社区字符串和交换机IP地址:
代码语言:txt
复制
community_string = 'public'
switch_ip = '192.168.0.1'
  1. 构建SNMP请求:
代码语言:txt
复制
snmp_object = ObjectIdentity('SNMPv2-MIB', 'snmpCommunityTable')
snmp_target = UdpTransportTarget((switch_ip, 161))
snmp_context = ContextData()
snmp_get = getCmd(SnmpEngine(), snmp_context, snmp_target, ContextData(), ObjectType(snmp_object))
  1. 发送SNMP请求并获取结果:
代码语言:txt
复制
error_indication, error_status, error_index, var_binds = next(snmp_get)
  1. 处理结果并输出SNMP社区列表:
代码语言:txt
复制
if error_indication:
    print('SNMP 请求错误:{}'.format(error_indication))
else:
    if error_status:
        print('SNMP 错误状态:{} at {}'.format(error_status.prettyPrint(), error_index and var_binds[int(error_index) - 1][0] or '?'))
    else:
        for var_bind in var_binds:
            print('SNMP 社区列表:{}'.format(var_bind[1]))

这样,你就可以使用Python pysnmp库来拉取交换机的SNMP社区列表了。

推荐的腾讯云相关产品:腾讯云物联网通信(IoT Hub),它提供了一站式的物联网通信解决方案,包括设备接入、设备管理、数据存储和分析等功能。通过腾讯云物联网通信,你可以更方便地管理和监控连接到云端的设备。

腾讯云物联网通信产品介绍链接地址:https://cloud.tencent.com/product/iothub

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

相关·内容

Python 封装SNMP调用接口

PySNMP 是一个纯粹用Python实现的SNMP,用PySNMP的最抽象的API为One-line Applications,其中有两类API:同步的和非同步的,都在模块pysnmp.entity.rfc3413...localhost ~]# systemctl restart snmpd [root@localhost ~]# systemctl enable snmpd 如果是Windows系统则需要在客户机服务列表...PySNMP模块直接开线程调用看看,该代码如下所示. import os,re,time # 通过SNMP收集主机CPU利用率: 通过SNMP协议,收集目标主机的CPU利用率(百分比),并返回JSON...pysnmp模块来做,安装pysnmp很简单,执行命令pip install pysnmp 即可,安装后使用以下代码执行即可获取到目标数据,获取方式分为两种一种为Get另一种为Walk. from pysnmp.hlapi...Walk数据 def WalkNumber(self, oid): res = [] for (errorIndication, errorStatus, errorIndex

2.1K10

python pysnmp使用

(也就是说这些MIB是生产商和设备相关的) PySNMP是一个纯粹用Python实现的SNMP。 用PySNMP的最抽象的API为One-line Applications。...所以在使用的时候为了方便,可以 from pysnmp.entity.rfc3413.oneliner import cmdgen然后用cg = cmdgen.CommandGenerator()来产生一个...getCmd()需要三个参数: 1.cmdgen.CommunityData()   ##社区信息 传入三个数据,安全my-agent、社区名public、snmp协议版本,之间用逗号隔开,例如 cmdgen.CommunityData...下面上个例子是获得设备snmp数据: from pysnmp.entity.rfc3413.oneliner import cmdgen def snmpget():     cg = cmdgen.CommandGenerator...,my-agent ,public 表示社区名,1表示snmp v2c版本,0为v1版本     cmdgen.UdpTransportTarget(('192.168.70.237', 161)),#

2.7K10

SNMP学习笔记之Python的netsnmp和pysnmp的性能对比

0x00 概览 用python获取snmp信息有多个现成的库可以使用,其中比较常用的是netsnmp和pysnmp两个库。网上有较多的关于两个库的例子。...python的netsnmp,其实是来自于net-snmp包。 python通过一个c文件调用net-snmp的接口获取数据。 因此,在并发获取多台机器的时候,不能够使用协程获取。...因为使用协程,在get数据的时候,协程会一直等待net-snmp接口返回数据,而不会像socket使用时那样在等待数据时把CPU切换给其他协程使用。从这点上来说,使用协程和串行获取没有区别。...可以使用线程,多线程获取(当然也可以使用多进程)。多个线程同时调用net-snmp的接口获取数据,然后cpu在多个线程之间不停切换。当一个线程获取一个结果后,可以继续调用接口获取下一个snmp数据。...但是walk使用的时候需要谨慎,以免导致高延时等问题。 0x02 pysnmp测试 pysnmp是用python实现的一套snmp协议的库。其自身提供了对于异步的支持。

3.7K20

Python通过SNMP监控网络设备

前段时间,为了实现自动化巡检,我开发了自动化巡检工具,由于我的系统设备版本比较多,所以我是分别开发的客户端程序,服务端使用dll文件与客户端通信,服务端的dll在与python通信,通过Python丰富的第三方库...,实现绘图入库等,该方式比较繁琐,我们管理的设备还有一些网络设备,这些设备无法通过开发程序来实现监控,为了实现全平台全设备监控,我决定使用SNMP实现监控任务。...localhost ~]# systemctl restart snmpd [root@localhost ~]# systemctl enable snmpd 如果是Windows系统则需要在客户机服务列表...首先我们不适用PySNMP模块直接开线程调用看看,该代码如下所示. import os,re,time # 通过SNMP收集主机CPU利用率: 通过SNMP协议,收集目标主机的CPU利用率(百分比),...pysnmp模块来做,安装pysnmp很简单,执行命令pip install pysnmp即可,安装后,使用以下代码执行即可获取到目标数据,网上的那些转载的都是坑,没一个能用的,这个案例是官方案例,可以使用

1.4K30

SNMP学习笔记之SNMP TRAP简介、流程以及使用Python实现接受Trap信息

从而尽可能简化snmptrap的使用方法。 snmptrapd来自开源软件Net-SNMP. Net-SNMP会有很多的用途,当然使用trap也是一个很有用的用途。...MIBs是可以由用户自己来定义,使用的。因为各厂商对trap信息定义的内容肯定是不同的,所以想要snmp有一定的扩展性,那么就必须要支持用户自定义MIBs文件。这也就是MIBs存在的原因。 2....又节省了一步,哈哈) 3. handle中再调用Nagios的命令行就可以了 这样一看流程就简单许多了,以后再使用snmptrap的时候也可以参考这个处理的流程 0x01 SNMP TRAP流程...SNMP Trap流程可参考这篇文章 0x02 SNMP Trap接受用Python实现 下载 安装pysnmp-4.2.5.tar.gz (md5) https://pypi.python.org/pypi.../pysnmp/ from pysnmp.carrier.asynsock.dispatch import AsynsockDispatcher from pysnmp.carrier.asynsock.dgram

10K20

运维监控,如何获取数据?

监控主机内运行主动、被动接收进程,分别实现Pull、Push能力;被监控主机开启通用功能(SNMP/SSH/Telnet/HTTP)进程,运行Agent进程,实现向外提供metric数据的能力。...//centos启动SNMP服务(本机可以提供SNMP服务) [root@localhost ~]# service snmpstart //centos安装snmp工具包(本机可以SNMP信息)...,跟总容量相除就是占用率 }, "extra":{ # 其他未分类oid # 二层相关(一般仅交换机,具体使用请结合品牌进行测试)...SNMP获取数据一般为GET和WALK两种,GET需精确到树状结构的叶子节点级别,适合CPU使用率这样的值;WALK则会对整个树状结构进行遍历,适合整个ARP表或接口表。...至于如何实现SNMP,调用不同语言的SNMP包即可,比如GO的"github.com/soniah/gosnmp" 包、PYTHONpysnmp包,不展开。

4.7K103

Python使用Scrapy爬虫框架爬天涯社区小说“大宗师”全文

如果在天涯社区直接阅读的话,会被很多读者留言干扰,如图 ? 于是,我写了下面的代码,从天涯社区该小说的第一篇开始依次爬每一页,提取作者“蛇从革”发过的文字并保存成为记事本文档。...在运行代码之前,首先要正确安装Python的爬虫框架scrapy,这个扩展库在Python 2.7.x中表现一直不错,现在也支持Python 3.5.x以及更新版本,可以使用pip直接进行安装,但是scrapy...依赖的某些扩展库对高版本Python支持并不是很好,在使用pip安装scrapy的过程中如果某个依赖的扩展库安装失败,可以到网上下载相应的whl文件进行安装,重复上面的过程,知道出现“Successfully...,稍等大概3分钟左右即可爬小说全文并生成记事本文档。...,第一篇 start_urls = ['http://bbs.tianya.cn/post-16-1126849-1.shtml'] #对每个要爬的页面,会自动调用下面这个方法 def parse

1.6K50

prometheus的介绍及安装

随着发展,越来越多公司和组织接受采用Prometheus,社区也十分活跃,他们便将它独立成开源项目,并且有公司来运作。...存储模块默认本地存储为TSDB HTTP server : 提供http接口查询和面板,默认端口为9090 short-lived jobs: 存在时间不足以被删除的短暂或批量业务,无法通过pull的方式...,通过第三方接口,prometheus查询到需要监控的target列表,然后轮询这些target获取监控数据 客户端SDK 官方提供的客户端类库有go,java,python,ruby pushgateway...支持临时性的job主动推送指标的中间网关,prometheus默认通过pull方式从exporters,但有些情况我们是不允许promethes与exporters直接进行通信的,这时候我们可以使用...pushgateway由客户端主动push数据到pushgateway,在由prometheus

53930

teg 如何监控交换机负载

(仅是个人设想的架构,架构不成熟,烦请指教) 方案二、使用zabbix进行监控,进行二次开发的方案。(目前在现公司已实现,除了交换机还有其他监控) 方案三、使用CactiEz实施监控告警的方案。...snmp-agent     --  开启snmpsnmp-agent sys-info version v2c    --开启snmp v2c 服务  如需更高安全性 使用snmp v3版本snmp-agent...2、使用python 多进程脚本通过snmp get 批量请求h3c交换机负载oid,将get到的 负载值,时间戳和请求ip 同时写入redis和mysql主库记录表中,当表过大时可通过表分区或定时备份清理做处理...将200台交换机分割成组:使用python多进程,每个进程查询分割后的交换机组,将get到的数据写入redis和msyql主库表中。...具体实施步骤如下: 1、使用console线连接每台交换机,进入管理vlan,设置ip。 每台监控的交换机进行如下配置。

1.8K40

一、什么是zabbbix?

操作系统的服务器,那么我们可以通过 ssh 或者 telnet 这种远程工具与被监控对象建立起通讯的通道,可是如果被监控的对象是一台安装了其他操作系统的服务器呢,更甚之,被监控的对象并不是服务器,而只是一台交换机或者路由器呢...SNMP: 通过 SNMP 协议与被监控对象进行通讯,SNMP 协议的全称为 Simple Network Management Protocol , 被译为 “简单网络管理协议”,通常来说,我们无法在路由器...、交换机这种硬件上安装 agent,但是这些硬件往往都支持 SNMP 协议,SNMP 是一种比较久远的、通行的协议,大部分网络设备都支持这种协议,其实 SNMP 协议的工作方式也可以理解为 master...其实,agent 端也可以不主动发送数据,而是等待 server 过来数据,这种模式我们称之为被动模式。...管理员可以在 server 端使用一个名为 zabbix_get 的工具,测试是否能够从 agent 端数据。

57021

TF Analytics指南丨TF中的Underlay Overlay映射(上)

物理underlay网络的用户界面视图,具有向下钻机制,以显示连接的服务器(TF计算节点)和服务器上的虚拟机。 查看拓扑结构中任何元素的详细信息。...物理路由器被配置为使用Internet协议流信息导出(IPFIX)或sFlow(2层数据包导出采样流量的行业标准)作为收集协议向收集器发送流量统计信息。。 3.拓扑模块读取SNMP信息。...TF拓扑模块从分析API中读取pRouter UVE的SNMP信息,计算邻居列表,并将邻居信息写入pRouter UVE中。这个邻居列表被WebUI用来显示物理拓扑。...ToR交换机与spine交换机相连。 spine交换机与core交换机连接。 以下是WebUI分析中描绘拓扑结构的一个例子。...由于contrail-collector支持用于接收流量样本的sFlow和IPFIX协议,因此必须将物理设备(如MX系列设备或ToR交换机)配置为使用这些协议之一发送样本。

61900

Zabbix 监控思科交换机3750 端口流量

traps enable 允许将所有SNMP Trap 信息发送 (config)#snmp-server host 10.0.0.1 version 2c test 10.0.0.1 接受交换机所发送过来...的SNMPTrap 信息 (config)#snmp-server trap-source loopback0 使用loopback0 接口的IP 地址作为SNMP Traps发送源地址 2.创建自定义模板...不建议使用zabbix 监控交换机流量。而是采用cacti,其实cacti 也有问题,只是你没碰见而已!!!原因在于cacti 监控的数据比zabbix 监控的数据大。两边不一致。...解决方法: 1.把取值间隔调快点,比如1 分钟一次。这样就不会存在问题。 2.使用64 位计数器。大家可以查下交换机手册,是否支持64 位计数器,新一代交换机全支持64 位计数器。...噢,对了,还差OID 列表 获取端口列表及描述 snmpwalk -v 2c -c test IP 1.3.6.1.2.1.2.2.1.2 获取端口UP/DOWN 情况 snmpwalk -v 2c -

1.9K20

信息安全-网络设备安全(一)

第二代交换机又称以太网交换机,工作于OSI的数据链路层,称为二层交换机。二层交换机识别数据中的MAC地址信息,并根据MAC地址选择转发端口。...HTTP协议进行Web访问网络设备使用TFTP (Trivial File Transfer Protocol)上传配置文件SNMP提供读或读写访问几乎所有的网络设备1....SNMP访问控制为避免攻击者利用Read-only SNMP或Read/Write SNMP对网络设备进行危害操作,网络设备提供了SNMP访问安全控制措施,具体如下:一是 SNMP访问认证:当通过SNMP...访问网络设备时,网络设备要求访问者提供社区字符串(community strings)认证,类似口令密码如下所示,路由器设置SNMP访问社区字符串(1)设置只读SNMP访问模式的社区字符串Router...^Z(2)设置读/写SNMP访问模式的社区字符串Router# config terminalEnter configuration commands,one per line.

8910

常用的17个运维监控系统(必备知识)

Cacti是RRDtool的前端应用程序,RRDtool是一种用于存储实时变化数据的开源数据库工具,其使用SNMP作为其默认收集算法,但如果你喜欢本地Perl的PHP脚本,那么你也可以使用它们。...Observium提供社区版本和专业版,使用RRDTool进行缓冲存储和图形化功能,并具有易于使用的用户界面和报告功能。 但是,它没有报告导出功能,这可能对商务应用来讲会是一个问题。...该网络管理工具可用于定位设备,创建设备目录并报告IP地址和交换机端口使用情况。...python编写。...与 Nagios 一样,Icinga 几乎也能通吃所有设备,搭配 SNMP、定制插件和扩展使用效果更佳。 Icinga 提供全局监控和警告框架,只是在 Web UI 上与 Nagios 有所不同。

3.8K31

使用ntopng和SNMP监控网络设备

Ntopng SNMP支持 简单网络管理协议(SNMP)是用于远程监控网络设备的事实标准之一,如路由器、交换机和服务器等。...添加一个新的SNMP设备 在 “SNMP Devices “页面的底部有一个 “Add New Device”的链接。添加新的SNMP很简单,只需要指定设备的IP地址和SNMP社区。...添加成功后,该设备将出现在设备列表中。 SNMP设备的实时检查 只要点击 “Devices IP “超链接,就可以为每个配置了SNMP的设备提供一个详情页。...结论 这篇文章演示了如何使用ntopng与SNMP设备进行系统交互,以监控其运行健康和状态。数据可以实时可视化,也可以记录下来以进行历史分析。当前同时支持SNMP v1和v2c。...在不久的将来,我们将添加基于SNMP触发警报的功能(例如,当端口更改状态时),并且我们将添加对专有MIB的支持,这样你就可以使用ntopng警报,当纸张耗尽或路由器CPU负载过重时,通知你。

1.2K42

【干货】思科交换机常用SNMP配置命令分享,收藏必备!

交换机SNMP配置命令(3): snmp-agent community read public 设置一个SNMP Community,使用该Community连接交换机时,只可以读取其SNMP信息。...交换机SNMP配置命令(4): snmp-agent community write private 设置一个SNMP Community,使用该Community连接交换机时,不仅可以读取其SNMP信息...一般只需设置第(3)和第(5)个指令就可以读取到交换机SNMP配置命令信息了。在旧的vrp系统上设置可能不同,我测试的交换机使用的是 vrp3.10版本。...我使用的是PHP-SNMP的函数来读取交换机SNMP信息的 ? cisco交换机配置snmp命令 ?...如果必须使用读写模式,最好把只读模式与读写模式使用的通信字符串区别开来。最后可以通过访问控制列表来限制使用 SNMP 的用户。

4.6K10

教程|监控项类型—SNMP客户端

概 述 您可能希望在打印机、网络交换机、路由器或UPS等设备上使用SNMP监控,这些设备通常启用SNMP,在这些设备上尝试设置完整的操作系统和Zabbix代理是不切实际的。...要获取SNMP字符串列表,请使用 snmpwalk 命令(net-snmp的部分软件应该在Zabbix安装时同时安装)或等效工具: shell> snmpwalk -v 2c -c public <主机...此处的“2c”代表 SNMP 版本,您也可以将其替换为“1”,表示设备上的 SNMP 版本v1。 它会返回给你一个SNMP字符串及其最后一个值的列表。...然后,您可以遍历列表,直到找到要监控的字符串,例如:如果要监视通过端口3进入交换机的字节,你将使用此行中的IF-MIB :: ifInOctets.3字符串: IF-MIB::ifInOctets.3...所以现在回到Zabbix并点击前面创建的SNMP主机的 监控项 。如果你在创建主机时选择使用模板,你将拥有与主机相关联的SNMP监控项列表

4.9K41
领券