用SNMP获取设备信息

日期: 2010-05-19 来源:TechTarget中国

  网络上很多代理在为我们服务。只要我们开启UDP/161,162端口,这些代理就会以Management Information Base (MIB)的形式给我们提供大量的网络设备信息。

  有兴趣的话,你可以在网上找一堆带有SNMP (Simple Network Management Protocol) 代理监听器的网络管理软件,如SpiceWorks, Net-SNMP, NetXMS, Nagios, Zenoss等,然后找个提供Wi-Fi的网络咖啡店。如果运气好,你能找到一大堆各种各样的网络设备和同时使用网络的其它终端。

  SNMP considerations

  下面是我列出的使用snmp代理的优点和不足,具体情况我会在后面详细说明。

  优点

  •   入侵检测
  •   快速网络扫描
  •   交换机单点故障检查
  •   硬件故障预先报警
  •   性能监控
  •   软件故障和异常检测
  •   工业化标准,设备交互的最佳实践

  不足

  •   误报
  •   日志管理
  •   信息太多,不方便筛选
  •   复杂的监控环境
  •   配置管理
  •   代理认证和默认的公共设置
  •   多种代理信息格式

  SNMP 基础

  SNMP的本质是基于代理的通告系统。每个设备,甚至是很多低端的交换机和打印机,都支持这种基于代理的通告。这种通告,或者所谓的 “trap,”是由设备厂商所开发的代理功能来生成的,监听软件可以监控系统的特殊事件,比如事件日志中的某类特殊事件,然后将通告发送给SNMP处理器或者其他网络管理工具。

  SNMP可以看做是目前众多功能类似的网管框架之一,此类管理框架还包括Microsoft Windows Management Instrumentation (WMI),Web Based Enterprise Management (WEBM) 以及 Common Information Model (CIM)。CIM 已经发展成一个完整的对象模型,采用DMTF并使用UML语言。

  Windows 或 Linux下的SNMP

  Microsoft在WMI中完全兼容CIM 模型。比如,在Vista, Windows 7, 或 Server 2008系统中,打开命令行窗口输入以下命令:

  winrm enumerate wmicimv2/Win32_ComputerSystem

  这个命令会显示出电脑系统的基本硬件信息,比如主板厂商名称,另外还包括域成员名称,管理账户密码状态,服务器角色,当前用户名,主机名,启动项等各种内容。通过 WMI,用户可以对系统信息了如指掌。图 A 所显示的是开启SNMP的图表。类似的监控功能在Linux上也存在。比如,免费的WebNMS就带有一套snmp代理功能,同时还提供了通过HTTP的管理方式。

图 A

  是否值得

  心急的网管们这时候可能就会问,到底学习SNMP和相关内容需要多少成本呢。Distributed Management Task Force (桌面管理任务组,DMTF)是SNMP的知识库也是与SNMP关系最密切的组织,他们坚持认为,他们的教材适用于”管理应用程序开发者,架构开发者,信息技术经理以及系统管理员。” 这可能有点夸张。而CIM Road Map Task Force 的Scott Neumann则将CIM称为”描述网络的最成熟和广泛接受的模块”。也就是说,这个模块像网络一样深入、复杂、宏大和特异。

  SNMP软件

  snmp代理程序并不只针对硬件。实际上, Oracle Enterprise Manager (OEM)被修改后,可以针对来自于Oracle VM, Oracle Database, 或 Fusion Middleware的警告信息作出反应。这里所说的是Oracle提供的 Contact Center Anywhere (CCA) 程序。他不但可以让 SNMP用户拥有常用的与电话相关的管控能力,还提供诸如软件许可失败,”恶意呼叫追踪”,自动呼叫分布语音信箱等功能。也就是说,SNMP程序是可以被调整的,以便让管理者更好的理解其性能,也可以拥有在一定条件下自动升级的能力,或者适应于企业特定的工作流程。软件通过设计,能够实现令人兴奋的结果。

  不过这个谍对谍的世界总是充满了风险。SNMP最初的设计者对周围的环境过于信任,并没有考虑安全问题。SNMP的”community strings”功能就像管理者和代理之间的密码。community string出现在这两者之间通信的所有数据包中。不要冒险让你的snmp代理变成双面间谍。也不要接受默认的”public” 或 “private”的community strings。 “Private”尤其容易出问题,因为它可以允许攻击者修改设备配置。如果不得不采用默认的”private”的community strings,那么就要限制能够访问SNMP的IP地址,从而确保通信安全。SNMP Version 3新增了代理加密功能,可以有效降低man-in the-middle类型的攻击,但并不是所有网络设备都支持这种功能。

  购买注意事项

  全面的购买指南肯定要比本文详细的多,所以我在这里只提供几个重要的购买注意事项:

  记住就算一个很小的网络也会拥有上百甚至上千个”设备”。如果价格是根据设备的数量来定的,那么要注意了。

  ”自动网络发现”是一个很好的概念,但是它是假设所有状况都是理想情况,比如所有的代理和管理者能彼此看到对方。

  SNMP监控有托管方式的,也有网络内部自己管理的。

  要把时间成本加入其中。虽然不比一次搞定所有设置,但是在SNMP警告信息的简历方面,可能耗时比较多。

推荐阅读:

利用SNMP监控网络运行状况

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • 被忽略的企业网络中的硬件漏洞

    通常与应用相关的漏洞颇受瞩目,而硬件漏洞经常被众人所忽视。不断涌现的用户需求使得供应商实施相关措施以弥补这一缺陷。不过当硬件漏洞被检测出来时,通常需要供应商为固件编写特殊代码,实际上比为软件打补丁更困难……

  • 虚拟网络中的网络流量分析(一)

    现在已经进入虚拟网络时代,曾经用于解决物理网络故障的SNMP和NetFlow还能应用于虚拟网络当中么?

  • 让传统网络工具黯然失色的OpenFlow

    OpenFlow不仅提供监控网络的平台和协议,它还能在主动控制的环境中实现强大的网络配置,多路返回保证精确和可信。对此,没有一个传统网络监控管理工具能够做到。

  • 实现软件定义网络(SDN)的6种途径

    尽管对软件定义网络(SDN)的所有关注都是由OpenFlow引起的,但实际上除了OpenFlow以外,至少还有6种方法可以实现软件定义网络。