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如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像