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。

  1. 安装python开发工具。

    yum -y install python-devel gcc
    
  2. 安装、设置并激活virtualenv。

    yum -y install python-virtualenv
    virtualenv /snmposter
    source /snmposter/bin/activate
    
  3. 安装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 ..
    
  4. 安装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 ..
    
  5. 安装snmposter。

    pip install snmposter
    

Red Hat Enterprise Linux或CentOS 5

以下步骤特定于Red Hat Enterprise Linux 5或其 兼容的发行版,如centos。

  1. 安装epel存储库。

    rpm -ivh http://mirror.cogentco.com/pub/linux/epel/5/i386/epel-release-5-4.noarch.rpm
    
  2. 安装Python2.6和开发工具。

    yum -y --enablerepo=epel install python26-devel gcc
    
  1. 安装、设置并激活virtualenv。

    yum -y --enablerepo=epel install python26-virtualenv
    virtualenv-2.6 /snmposter
    source /snmposter/bin/activate
    
  2. 安装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 ..
    
  3. 安装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 ..
    
  4. 安装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时触发)

不要担心,如果你得到一个错误,比如^ {CD8>},这是我们预期的结果,也是我们试图加载一个不存在的结果。 MIB公司。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从8位二进制到十六进制的转换   Java流API映射参数   java Dropwizard从POST方法更新视图   java如何制作onetoone映射playframework   java中的Eclipse代码检查样式缩进模块?   java Maven无法正确安装   java将此关键字作为参数传递   java Mandelbrot设置了错误的形状   Java中的哈希表内存使用   安卓 java:如何在两个微调器之间切换按钮并获取微调器的文本?   java从其他位置(数据库、http…)加载JSF facelets文件(模板、视图)   java Spring休眠悲观锁定   通过rest和html作为客户端上传java文件