SNMP代理模拟器
snmposter的Python项目详细描述
SNMP代理模拟器
这个工具允许您获取snmpwalk命令的输出,然后假装 是从那里收集的。当你 开发SNMP管理工具。
要求
twisted、twistedsnmp和pysnmp se。
Twisted可从Pypi获得,如果您 简单安装或pip的路线。twistedsnmp和pysnmp se当前不是 可从Pypi获得,应单独从SourceForge下载 并从源安装。
安装
我建议在python virtualenv中安装snmposter。就这样 更容易安装在操作系统上,比如CentOS 5 系统python版本早于2.5。由于依赖于twisted, snmposter需要python 2.5或更新版本。
Red Hat Enterprise Linux或CentOS 6
以下步骤特定于Red Hat Enterprise Linux 6或其 兼容的发行版,如centos。
安装python开发工具。
yum -y install python-devel gcc
安装、设置并激活virtualenv。
yum -y install python-virtualenv virtualenv /snmposter source /snmposter/bin/activate
安装TwistedSNMP依赖项。
wget http://downloads.sourceforge.net/project/twistedsnmp/twistedsnmp/0.3.13/TwistedSNMP-0.3.13.tar.gz tar -xzf TwistedSNMP-0.3.13.tar.gz cd TwistedSNMP-0.3.13 python setup.py install cd ..
安装pysnmp se依赖项。
wget http://downloads.sourceforge.net/project/twistedsnmp/pysnmp-se/3.5.2/pysnmp-se-3.5.2.tar.gz tar -xzf pysnmp-se-3.5.2.tar.gz cd pysnmp-se-3.5.2 python setup.py install cd ..
安装snmposter。
pip install snmposter
Red Hat Enterprise Linux或CentOS 5
以下步骤特定于Red Hat Enterprise Linux 5或其 兼容的发行版,如centos。
安装epel存储库。
rpm -ivh http://mirror.cogentco.com/pub/linux/epel/5/i386/epel-release-5-4.noarch.rpm
安装Python2.6和开发工具。
yum -y --enablerepo=epel install python26-devel gcc
安装、设置并激活virtualenv。
yum -y --enablerepo=epel install python26-virtualenv virtualenv-2.6 /snmposter source /snmposter/bin/activate
安装TwistedSNMP依赖项。
wget http://downloads.sourceforge.net/project/twistedsnmp/twistedsnmp/0.3.13/TwistedSNMP-0.3.13.tar.gz tar -xzf TwistedSNMP-0.3.13.tar.gz cd TwistedSNMP-0.3.13 python setup.py install cd ..
安装pysnmp se依赖项。
wget http://downloads.sourceforge.net/project/twistedsnmp/pysnmp-se/3.5.2/pysnmp-se-3.5.2.tar.gz tar -xzf pysnmp-se-3.5.2.tar.gz cd pysnmp-se-3.5.2 python setup.py install cd ..
安装snmposter。
pip install snmposter
用法
安装将创建名为snmposter
的命令行工具。这个工具
需要根访问,因为它侦听161/udp并创建环回别名
支持同时模拟多个SNMP代理。
snmposter
命令接受一个命令行参数:-f或–file。
传递到此选项的文件必须包含一行或多行,其中包含两列
每一个。第一列应该是文件的绝对或相对路径
包含snmpwalk命令的输出。第二列应该包含
此snmpwalk数据将公开的IP地址。
示例用法:
source /snmposter/bin/activate
snmposter -f /etc/snmposter/agents.csv
/etc/snmposter/agents.csv
:
/etc/snmposter/agents/Cisco_2811.snmpwalk,127.0.1.11 /etc/snmposter/agents/NetApp_Filer_FAS3020.snmpwalk,127.0.1.12
此示例用法将导致snmposter在后台运行,创建两个
环回接口上的新IP别名(127.0.1.11和127.0.1.12),以及
将每个snmpwalk文件的内容公开为udp端口161上的snmp代理
适当的IP地址。如果你要经常用这个
建议在/etc/hosts
文件中添加一些条目,使其均匀
更容易的。
添加到/etc/hosts
:
127.0.1.11 cisco-2811 127.0.1.12 netapp-filer-fa3020
重要提示:snmposter使用的snmpwalk输出文件必须是 使用非常特定的snmpwalk命令行选项生成。这些选项允许 snmposter可获取尽可能多的原始数据并提供最精确的 模拟。
生成上述Cisco_2811.snmpwalk
文件的snmpwalk命令示例:
snmpwalk -v2c -c public -ObentU localhost .1 > Cisco_2811.snmpwalk
重要的命令行选项是-m none -O enU
以获取原始输出和'-c c'
忽略来自开关的无序响应。(有时验证错误是
在某些交换机上行走路由MIB时触发)