标签: mib

Java获取MIB中OID的名称/描述

我正在编写网络管理系统,并且需要能够在从SNMP陷阱接收的OID后面打印出有意义的名称.由于该系统的性质/大小,在每个正在使用的设备上手动将每个OID映射到有意义的名称并不是一个好主意.

话虽如此,是否有一种免费(商业用途)方式将名称/描述与其各自的OID自动配对,用于MIB中的所有OID; 那些配对在Java程序中使用?

换句话说,是否有工具或方法将MIB树转换为可在程序中遍历的Java对象以检索OID的名称/描述?

谢谢

java networking snmp oid mib

5
推荐指数
1
解决办法
9756
查看次数

SNMP MIB Visualizer建议?

MIB有免费的可视化工具吗?我已经被分配了一些SNMP陷阱规范化/浓缩工作,并开始使用Cisco ONS 15454s.MIB似乎比我见过的其他人更复杂.大量对象交叉引用,包括一些在其他MIB中定义并导出的对象.尝试追踪警报端口号的快速示例:

报警定义:

Cerent454AlarmEntry ::= SEQUENCE {
    cerent454AlarmIndex          INTEGER,
    cerent454AlarmObjectType     Cerent454EntityClass,
    cerent454AlarmSlotNumber     INTEGER,
    cerent454AlarmPortNumber     CerentPortNumber,
    cerent454AlarmLineNumber     INTEGER,
    cerent454AlarmObjectIndex    INTEGER,
    cerent454AlarmType           Cerent454AlarmType,
    cerent454AlarmState          CerentNotificationClass,
    cerent454AlarmTimeStamp      TimeStamp,
    cerent454AlarmObjectName     DisplayString,
    cerent454AlarmAdditionalInfo DisplayString
}
Run Code Online (Sandbox Code Playgroud)

CerentPortNumber引用来自同一个文件(CERENT-454.mib):

IMPORTS
    (...)
    CerentPortNumber
        FROM CERENT-TC

(...)
cerent454AlarmPortNumber OBJECT-TYPE
    SYNTAX      CerentPortNumber
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION 
        "This will indicate what is the port
         of the object which raised this alarm."
    ::= { cerent454AlarmEntry 40 }
Run Code Online (Sandbox Code Playgroud)

CerentPortNumber的实际语法,来自CERENT-TC.mib:

CerentPortNumber ::=
      INTEGER
      {        unknown   (1),
               port0     (5),
               port1    (10),
               port2    (20),
               (...) …
Run Code Online (Sandbox Code Playgroud)

snmp mib

4
推荐指数
1
解决办法
2049
查看次数

具有多个OID的SNMP getBulkRequest - 哪个是返回的响应OID顺序?

我发送SNMP getBulkRequest,使用基于某些第三方库(如agent ++,snmp ++等)的专有SNMP浏览器,具有多个OID,例如
.1.3.6.1.2.1.1.1
.1.3.6.1.2.1.1.5
.1.3.6.1.2.1. 1.6
.1.3.6.1.2.1.1.4

是否保证返回的集合(如果存在具有此类前缀的OID)将以完全相同的顺序返回?

例如
.1.3.6.1.2.1.1.1.0
.1.3.6.1.2.1.1.5.0
.1.3.6.1.2.1.1.6.0
.1.3.6.1.2.1.1.4.0


欢迎任何答案,文档链接,与此问题相关的提示.


更新:非Repeater = 0,MaxRepetitions> = 1

networking snmp mib

4
推荐指数
1
解决办法
2059
查看次数

snmpv3 中上下文名称的意义

与 Snmpv2 和 Snmpv1 相比,Snmpv3 是一种安全协议。但我不明白上下文名称的用途是什么。我们已经有了一个用户名以及提供安全级别的身份验证和隐私密码。使用wireshark 的人无法识别它,因为它是通过加密形式发送的。那么在Snmpv3中context name有什么用呢?

snmp mib net-snmp

4
推荐指数
1
解决办法
7044
查看次数

用于网络流量的SNMP OID

我正在编写一个脚本,用于监控来自nagios的特定主机上的流量.我已经研究了一些已经制作的脚本并且已经收集了我需要做的几乎所有信息,但是我在识别流量所需的OID时遇到了问题.我想使用IF-MIB::ifOutOctets.1IF-MIB::ifInOctets.1获取传入和传出流量但是当我使用以下行测试时:

snmpwalk -v 1 -c public myComputer OID
Run Code Online (Sandbox Code Playgroud)

对于OID而言,我得到了相同的结果,这似乎并不正确.如果我可以尝试其他变量而不是我现在使用的那些变量,那我就会徘徊.

它会很有用,即使你可以指出我可以在哪里找到一些信息IF-MIB,因为我可以得到所有的价值,snmpwalk但我不知道如何解释它们

snmp oid nagios mib net-snmp

3
推荐指数
1
解决办法
2万
查看次数

使用SNMP监视JVM

我正在使用snmp来监控一些服务器(主要是win2k3),在我上网的过程中,我找到了Oracle用来监控JVM,JVM-MANAGEMENT-MIB的MIB.到目前为止我用它做的是:

  • 使用snmp.acl和management.properties配置JVM
  • 使用mibcc编译JVM-MANAGEMENT-MIB并替换mib.bin.

通过这些步骤,我认为我很高兴尝试.所以我用snmp4j创建了一个java程序,当我尝试从JVM mib调用OID时,我遇到了一个错误Request timed out.奇怪的是,我只编译JVM-MANAGEMENT-MIB,所以我应该只能访问那些OID,对吧?但事实并非如此,我仍然可以访问cpu使用情况,进程数量......

那么我错过了什么?谢谢

jvm snmp snmp4j mib

3
推荐指数
1
解决办法
3179
查看次数

C#SNMP编程

我尝试编写一些代码来检索objectID,结果是2B-06-01-04-01-82-31-01-03-01-01.这个值不正确吗?

// Send a SysObjectId SNMP request
response = conn.get("get", argv[0], argv[1], "1.3.6.1.2.1.1.2.0");
if (response[0] == 0xff)
{
    Console.WriteLine("No response from {0}", argv[0]);
    return;
}

// Get the community and MIB lengths of the response
commlength = Convert.ToInt16(response[6]);
miblength = Convert.ToInt16(response[23 + commlength]);

// Extract the MIB data from the SNMp response
datatype = Convert.ToInt16(response[24 + commlength + miblength]);
datalength = Convert.ToInt16(response[25 + commlength + miblength]);
datastart = 26 + commlength + miblength;
output= BitConverter.ToString(response, datastart, datalength);
Console.WriteLine(" …
Run Code Online (Sandbox Code Playgroud)

c# snmp mib

2
推荐指数
1
解决办法
2万
查看次数

PySNMP使用MIB文件时出错

我正在尝试在PySNMP中使用MIB文件.代码相当简单.没什么复杂的.只是试图在OID下获取信息.我正在使用的代码如下:

#!/usr/local/bin/python2.7

from pysnmp.smi import builder, view, error
from pysnmp.entity.rfc3413.oneliner import cmdgen

cmdGen = cmdgen.CommandGenerator()
mibBuilder = builder.MibBuilder()
mibPath = mibBuilder.getMibPath() + ( '/path/to/command/mibs', )
mibBuilder.setMibPath( *mibPath )
mibBuilder.loadModules( 
    'MIB-File',
    )
mibView = view.MibViewController( mibBuilder )
errorIndication, errorStatus, errorIndex, \
                 varBindTable = cmdGen.nextCmd( 
    cmdgen.CommunityData( 'Name', 'Community' ),
    cmdgen.UdpTransportTarget( ( 'IP Address', 161 ) ),
    ( ( '', 'serverName' ), ),
    )

print varBindTable
Run Code Online (Sandbox Code Playgroud)

我知道放入此数据的数据是准确的,因为当我使用asynCommandGenerator.asyncNextCmd相同的数据时udpTransportTarget,CommunityData它的工作没有问题.此外,我看到的错误非常特定于MibBuilder组件.

我看到的错误是:

Traceback(最近一次调用最后一次):

文件"./snmpcollectortest.py",第11行,in

'NS-MIB-SMIv2的',

在loadModules中输入文件"/usr/lib/python2.7/site-packages/pysnmp-4.2.1-py2.7.egg/pysnmp/smi/builder.py",第221行

pysnmp.smi.error.SmiError:MIB模块"/path/to/command/mibs/MIB-File.py"加载错误:搜索路径中找不到MIB文件"ASN1.py [co]"

更新:

我发现我没有安装M2Crypto,这就是为什么我找不到ASN1.py. 不过我已经纠正了这一点,我仍然得到同样的错误.

python mib pysnmp

2
推荐指数
1
解决办法
4567
查看次数

MIB 表的索引(键)的 MAX-ACCESS 字段是否应该始终不可访问?

将 MIB 表的索引设置为不可访问是否是一项硬性规定?

snmp mib

2
推荐指数
2
解决办法
4817
查看次数

预期"("(_):在/usr/share/snmp/mibs/ZYXEL-ES2108G-MIB.txt的第939行

运行snmptranslate -IR sysSwYear时出错

*预期"("(_):/usr/share/snmp/mibs/ZYXEL-ES2108G-MIB.txt中的第939行应为ACCESS(to):/ usr/share/snmp/mibs/ZYXEL中的第939行-ES2108G-MIB.txt OBJECT-TYPE的错误解析:/usr/share/snmp/mibs/ZYXEL-ES2108G-MIB.txt中的第939行未知对象标识符:sysSwYear ....*

它背后的原因是什么?请帮帮我

snmp mib net-snmp

1
推荐指数
2
解决办法
1474
查看次数

SNMP输出选项 - 如何仅获取OID响应值?

我必须使用我一直在研究的BASH脚本从一些支持SNMP的网络打印机中收集一些OID.

我的请求:

snmpget -v2c -c public 192.168.0.77 
.1.3.6.1.2.1.1.1 
.1.3.6.1.2.1.1.2 
Run Code Online (Sandbox Code Playgroud)

我的实际回应:

 .1.3.6.1.2.1.1.1 = Counter32: 1974 
 .1.3.6.1.2.1.1.2 = Counter32: 633940
Run Code Online (Sandbox Code Playgroud)

期望的回应:

1974
633940314
Run Code Online (Sandbox Code Playgroud)

(仅限oid值)

我使用以下网站的资源查看并测试了几个选项:

http://www.netsnmp.org/docs/man/snmpcmd.html#lbAF

-Oq 删除'='以便运行

snmpget -v2c -c public -Oq 10.15.105.133
.1.3.6.1.2.1.1.1 
.1.3.6.1.2.1.1.2 
Run Code Online (Sandbox Code Playgroud)

回报

.1.3.6.1.2.1.1.1 Counter32: 1974
.1.3.6.1.2.1.1.2 Counter 32: 633940314
Run Code Online (Sandbox Code Playgroud)

所以我知道我正在正确地表达我的要求.

我正在取值并将它们写入MYSQL dB,我在我的故事模式中设置数据类型,请求是一致的所以我知道OID的定义,所以我不需要我得到的所有信息,只是OID本身的值,所以我可以把它写到我的dB而不操纵响应.我可能可以操纵响应将信息拉到":"的右边并写入OID的值.

我是相对较新的SNMP(http://www.net-snmp.org/),但我不明白为什么这不是一个更常见的问题,因为我一直在寻找答案,这篇文章是我的最后一篇追索权...

mysql bash snmp mib net-snmp

1
推荐指数
1
解决办法
7388
查看次数

PySnmp 查询不适用于可到达的目标,但命令行“snmpget”成功

我需要一个可以监视 SNMP 代理的 SNMP 服务器。为此,我编写了一个基本的Python应用程序,并运行了一个SNMP代理(基于polinux/snmpd图像),在同一网络上,该代理具有固定的IP地址。当我从服务器容器运行 SNMP get 查询时,我得到了所需的 OIB,但是当我想使用 PySnmp 以编程方式执行相同操作时,它不起作用。我尝试了很多方法但没有成功。

你有什么主意吗?

我的泊坞窗撰写文件:

services:
  spm-health-service:
    build:
      context: .
      dockerfile: docker/Dockerfile
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - "4500:4500"
    depends_on:
      - scs-server
      - network-device-identifier

  spm:
    image: polinux/snmpd
    restart: unless-stopped
    privileged: true
    ports:
      - "161:161/udp"
    volumes:
      - ./resources/snmpd-conf/snmpd.conf:/etc/snmp/snmpd.conf
      - ./resources/spm-mib/:/usr/local/share/snmp/mibs/
    networks:
      default:
        ipv4_address: 10.5.0.5

networks:
  default:
    driver: bridge
    ipam:
      config:
        - subnet: 10.5.0.0/16
          gateway: 10.5.0.1

Run Code Online (Sandbox Code Playgroud)

当我进入“spm-health-service”的bash shell时,我的命令和结果:

$ winpty docker exec -it 627 bash
root@627d241920e3:/app# snmpget -v2c -t 10 -c …
Run Code Online (Sandbox Code Playgroud)

python snmp mib pysnmp docker-compose

0
推荐指数
1
解决办法
2778
查看次数

标签 统计

mib ×12

snmp ×11

net-snmp ×4

networking ×2

oid ×2

pysnmp ×2

python ×2

bash ×1

c# ×1

docker-compose ×1

java ×1

jvm ×1

mysql ×1

nagios ×1

snmp4j ×1