SNMP模拟器是一种工具,它作为许多SNMP代理,嵌入到真实物理设备中,从SNMP管理器的角度来看。模拟器构建并使用物理设备的SNMP特征数据库来像其原始对应物那样响应。
项目描述
SNMP模拟器
这是一个纯Python、开源和免费的SNMP代理模拟器实现,在2-clause BSD许可证下分发。
特性
- 支持SNMPv1/v2c/v3
- SNMPv3 USM支持MD5/SHA/SHA224/SHA256/SHA384/SHA512身份验证和DES/3DES/AES128/AES192/AES256加密算法
- 通过IPv4和/或IPv6传输运行
- 模拟多个EngineID,每个都有自己的模拟对象集
- 根据SNMP社区、上下文、源/目的地址和端口,响应会发生变化
- 可以收集和存储SNMP代理的快照以供后续模拟
- 可以根据MIB文件、snmpwalk和sapwalk输出运行模拟
- 可以从网络流量或tcpdump窃听中收集模拟数据
- 可以从外部程序调用或SQL数据库中收集模拟数据
- 可以在SET操作上触发SNMP TRAP/INFORM
- 能够同时模拟数以万计的代理
- 提供基于REST API的控制平面
- 收集并报告详细的活动指标
- 纯Python,易于部署且高度可移植
- 可以通过可加载的Python代码片段进行扩展
下载
安装
只需运行
$ pip install snmpsim
如何使用SNMP模拟器
安装完成后,调用snmpsim-command-responder
并将它指向包含模拟数据的目录
$ snmpsim-command-responder --data-dir=./data --agent-udpv4-endpoint=127.0.0.1:1024
模拟数据存储在具有OID|类型|值格式的简单纯文本文件中
$ cat ./data/public.snmprec
1.3.6.1.2.1.1.1.0|4|Linux 2.6.25.5-smp SMP Tue Jun 19 14:58:11 CDT 2007 i686
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.8072.3.2.10
1.3.6.1.2.1.1.3.0|67|233425120
1.3.6.1.2.1.2.2.1.6.2|4x|00127962f940
1.3.6.1.2.1.4.22.1.3.2.192.21.54.7|64x|c3dafe61
...
模拟器将查询参数(如SNMP社区名称、SNMPv3上下文或IP地址)映射到数据文件。
您可以通过查询现有的SNMP代理立即生成模拟数据文件
$ snmpsim-record-commands --agent-udpv4-endpoint=demo.pysnmp.com \
--output-file=./data/public.snmprec
SNMP version 2c, Community name: public
Querying UDP/IPv4 agent at 195.218.195.228:161
Agent response timeout: 3.00 secs, retries: 3
Sending initial GETNEXT request for 1.3.6 (stop at <end-of-mib>)....
OIDs dumped: 182, elapsed: 11.97 sec, rate: 7.00 OIDs/sec, errors: 0
或者,您可以从MIB文件构建模拟数据
$ snmpsim-record-mibs --output-file=./data/public.snmprec \
--mib-module=IF-MIB
# MIB module: IF-MIB, from the beginning till the end
# Starting table IF-MIB::ifTable (1.3.6.1.2.1.2.2)
# Synthesizing row #1 of table 1.3.6.1.2.1.2.2.1
...
# Finished table 1.3.6.1.2.1.2.2.1 (10 rows)
# End of IF-MIB, 177 OID(s) dumped
或者甚至可以在线嗅探,恢复那里的SNMP流量并从它构建模拟数据。
除了静态文件外,SNMP模拟器还可以配置为调用其插件模块来生成模拟数据。我们提供了用于接口SQL和NoSQL数据库、基于文件的键值存储和其他信息源的插件。
除了上述独立部署之外,第三方SNMP模拟器控制平面项目提供了REST API管理的多个snmpsim-command-responder
实例的大规模部署。
文档
有关SNMP模拟器使用的详细信息,可以在snmpsim网站找到。
获取帮助
如果某些操作不符合预期,请在GitHub上打开问题或在Stack Overflow上提问。
反馈和合作
欢迎提交错误报告、修复、建议、改进以及您的pull请求!
版权所有(c) 2010-2019,Ilya Etingof。版权所有(c) 2022-2024,LeXtudio Inc。保留所有权利。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。
源分发
snmpsim-1.1.7.tar.gz (240.0 kB 查看哈希值)
构建版本
snmpsim-1.1.7-py3-none-any.whl (226.0 kB 查看哈希值)
关闭
snmpsim-1.1.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 22a0d81a2d2b00ae9f3d7eec1bcf4c12e09e637dd88504d896e841a05cb67ea0 |
|
MD5 | 95697ba55a692eec0d3ccdae7324b3bc |
|
BLAKE2b-256 | 0ae3cad55059628c554f7d5b2f232307bc21436da2ca246994733f57b6bcbdd0 |
关闭
snmpsim-1.1.7-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c5f9dac3066d7debae3eb6dbf030e35bbb2f6a6c5d11feefd9d0a4b46680c575 |
|
MD5 | 66a48f85404661d572ba8bc433ecf3c1 |
|
BLAKE2b-256 | 0a3f24dc63f2867b3636067c3dd110c7e377fa7e822402fa9b22bebb7a5363fa |