一、简介

snmp-cmds模块通过SNMP与目标设备进行通信,此模块适用于windows,此模块是基于系统已安装了net-snmp环境
easysnmp模块通过SNMP与谬表设备进行通信,此模块用于linux,此模块基于系统已安装了net-snmp环境

二、snmp-cmds模块安装

  2.1 在Windows平台

#1.系统环境安装net-snmp软件
a.下载链接: https://pan.baidu.com/s/1sq4mjIMfFgG2YxTMLxVF0A 提取码: a7j5
b.安装完成,打开cmd命令框,输入snmpwalk,无报错,有回显,即安装正常 #2.使用pip工具安装snmp-cmds模块
pip3 install snmp-cmds

  2.2 在Centos 7平台

#1.系统环境安装net-snmp软件
a.yum install python-devel
b.安装setuptools
wget https://files.pythonhosted.org/packages/25/5d/cc55d39ac39383dd6e04ae80501b9af3cc455be64740ad68a4e12ec81b00/setuptools-0.6c11-py2.7.egg
c.安装net-snmp-5.7.3软件
wget https://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz
d.提升setuptools为可执行文件
chmod +x setuptools-0.6c11-py2.7.egg
e. ./setuptools-0.6c11-py2.7.egg
f. tar -zxvf net-snmp-5.7.3.tar.gz
g. cd net-snmp-5.7.3
h. ./configure --with-python-modules #选择版本时,输入2,其余直接回车
i. make (时间较长)
j. make install
k. echo "/usr/local/lib" >> /etc/ld.so.conf
l. ldconfig
m. 验证,是否有snmpwalk命令 #2.使用pip工具安装snmp-cmds模块
pip3 install easysnmp ps:easysnmp官方文档地址:https://easysnmp.readthedocs.io/en/latest/

三、简单实例

  3.1 获取目标设备的接口名字

from snmp_cmds import snmpwalk
#返回结果是列表
res = snmpwalk(ipaddress='192.168.59.251',oid='IF-MIB:ifDescr',community='qiji123') for line in res:
#第一个元素为oid,第二个元素为接口名字
print(line[0],' ',line[1])

  3.2 使用pysnmp模块案例

from easysnmp import snmp_walk

device_ip = 'IP地址'
community = '团体字'
# oid = 'IF-MIB::ifDescr'
oid = 'sysDescr' def test():
res = snmp_walk(oid, hostname=device_ip, community=community, version=2) for each in res:
print(each.value) if __name__ == '__main__':
test()

Python模块之snmp-cmds,easysnmp的更多相关文章

  1. 使用C/C++写Python模块

    最近看开源项目时学习了一下用C/C++写python模块,顺便把学习进行一下总结,废话少说直接开始: 环境:windows.python2.78.VS2010或MingW 1 创建VC工程 (1) 打 ...

  2. Python模块之configpraser

    Python模块之configpraser   一. configpraser简介 用于处理特定格式的文件,其本质还是利用open来操作文件. 配置文件的格式: 使用"[]"内包含 ...

  3. Python模块之"prettytable"

    Python模块之"prettytable" 摘要: Python通过prettytable模块可以将输出内容如表格方式整齐的输出.(对于用Python操作数据库会经常用到) 1. ...

  4. python 学习第五天,python模块

    一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...

  5. windows下安装python模块

    如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar. ...

  6. 安装第三方Python模块,增加InfoPi的健壮性

    这3个第三方Python模块是可选的,不安装的话InfoPi也可以运行. 但是如果安装了,会增加InfoPi的健壮性. 目录 1.cchardet    自动检测文本编码 2.lxml    用于解析 ...

  7. Python基础篇【第5篇】: Python模块基础(一)

    模块 简介 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就 ...

  8. python 模块加载

    python 模块加载 本文主要介绍python模块加载的过程. module的组成 所有的module都是由对象和对象之间的关系组成. type和object python中所有的东西都是对象,分为 ...

  9. pycharm安装python模块

    这个工具真的好好,真的很喜欢,它很方便,很漂亮,各种好 pycharm安装python模块:file-setting-搜索project inte OK

随机推荐

  1. 【06】Jenkins:Gitlab 自动触发构建以及钉钉通知

    写在前面的话 在某些时候,我们希望能够实现这样一个功能,当用户提交东西到 gitlab 上的时候,希望它能够自动触发构建,发布到我们需要的环境. 目前我们内部有做类似的需求:产品提交原型到 gitla ...

  2. InstantiationException:mybatis.spring.transaction.SpringManagedTransactionFactory

    问题表现 Error creating bean with name 'sqlSessionFactory' Invocation of init method failed; nested exce ...

  3. C#学习书单

    [入门] (1)<C#入门经典> (2)<牛腩新闻发布系统> [深入] (1)<CLR via C#(第4版)> (2)<深入理解C#(第3版)> [C ...

  4. C# Socket服务器端如何判断客户端断开求解

    Socket client //假如已经创建好了,连接到服务器端得Socket的客户端对象. 我们只要client.Poll(10,SelectMode.SelectRead)判断就行了.只要返回Tr ...

  5. windows上node开发注意事项

    windows上进行node.react开发的必要步骤: 1.使用nvm进行node及npm包管理工具,记得使用npm config set ...:2.另外react仅支持python3.0以下的版 ...

  6. Linux基础之快照克隆、Xshell优化、Linux历史

    今天主要分享4个Linux基础知识,第一个知识是虚拟机快照,第二个是虚拟机克隆,第三个是优化Xshell,第四个是简述Linux历史. 先分享第一个知识——虚拟机快照. 1.4)虚拟机快照 虚拟机快照 ...

  7. jsp数据交互(二).1

    对象的作用域:   JSP中提供了四种作用域,分别是page作用域,request作用域,session作用域和application作用域. page作用域: page作用域指单一JSP页面的范围, ...

  8. web设计之无懈可击

    无懈可击的web设计旨在尽可能地考虑页面元素在各个情况下都能够呈现最好的效果. 1. 思路总览 2. 灵活的文字 3. 可伸缩的导航栏 4. 可扩展的行 5. 自由的框式组件 6. 图片/标题/说明文 ...

  9. python基础学习(起步)

    目录 python基础学习(起步) 变量 常量 变量的内存管理 python垃圾回收机制 变量的其他赋值方式 今日编程小题 本人能力有限,若有偏颇之处请读者大大不吝赐教! 祝大家每天都在成长! pyt ...

  10. 关于object对象转换为int类型

    注意:不能强制转换!!! Object a; int b = Integer.parseInt(String.valueOf(a));