SNMP系统描述分析器。
sysdescrparser的Python项目详细描述
sysdescparser是网络运营商的实用工具。 此模块分析SNMP系统描述(OID:1.3.6.1.2.1.1.1.1)。
最新的ip设备实现了有用的api。 但是,每个供应商的连接方法不同。 如果是多供应商环境, 我们必须检查每个目标节点的信息,如供应商名称和操作系统名称。 我认为snmp sysdescr的检查作为预过滤的统一方法是非常有效的。 此模块将尽可能使用供应商名称、型号名称、操作系统名称和操作系统版本来解析sysdescr值。 但是,sysdescr是自由格式。 它不能保证这些信息总是存在。未知值,指定未知值。 如果您需要处理本模块不支持的设备, 然后请将sysdescr值发送给此包作者。 或者,请使用github pull请求等功能联系。
要求
- Python2.7,3.5,3.6,3.7,Python。
仪器
Pypi或Github。
$ pip install sysdescrpaser or $ git clone https://github.com/mtoshi/sysdescrparser $ cd sysdescrparser $ sudo python setup.py install
使用示例
juniper junos sysdescr的示例
>>> from sysdescrparser import sysdescrparser >>> sysdescr = sysdescrparser('Juniper Networks, Inc. ex2200-48t-4g internet router, kernel JUNOS 10.2R1.8 #0: 2010-05-27 20:13:49 UTC') >>> sysdescr.vendor 'JUNIPER' >>> sysdescr.model 'ex2200-48t-4g' >>> sysdescr.os 'JUNOS' >>> sysdescr.version '10.2R1.8'
cisco ciscoios sysdescr的示例
>>> sysdescr = sysdescrparser('Cisco IOS Software, c7600s72033_rp Software (c7600s72033_rp-ADVIPSERVICESK9-M), Version 12.2(33)SRC5, RELEASE SOFTWARE (fc2)') >>> sysdescr.vendor 'CISCO' >>> sysdescr.model 'c7600s72033_rp-ADVIPSERVICESK9-M' >>> sysdescr.os 'IOS' >>> sysdescr.version '12.2(33)SRC5'
Brocade VDX sysdescr的示例
>>> sysdescr = sysdescrparser('Brocade VDX Switch.') >>> sysdescr.vendor 'BROCADE' >>> sysdescr.model 'VDX' >>> sysdescr.os 'NOS' >>> sysdescr.version 'UNKNOWN'
解析逻辑并支持供应商和操作系统
- 关于解析逻辑以及对供应商和操作系统的支持。
当然,您可以看到这个python代码,也可以从示例数据中看到它是如何轻松工作的。 https://github.com/mtoshi/sysdescrparser/blob/master/samples/sample_data.json 它几乎可以理解。 (有时,使用硬代码。以及使用未知值。) 代码测试也直接使用此示例数据。
- 关于未覆盖的供应商和操作系统。
如果您需要处理此模块不支持的设备, 然后请将sysdescr值发送给此包作者。 或者,请使用github pull请求等功能联系。
如果您已经启用了snmp守护进程,那么您可以使用下面的命令获取sysdescr值。
% snmpwalk -Os -v 2c -c your_community_string localhost 1.3.6.1.2.1.1.1 sysDescr.0 = STRING: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx % snmpget -Os -v 2c -c your_community_string localhost 1.3.6.1.2.1.1.1.0 sysDescr.0 = STRING: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx