在1980年代后期, SNMP协议 或者 简单网络管理协议 最早出现是一种用于管理网络内节点的解决方案。从那时起,SNMP数据已用于衡量众多供应商之间设备的性能,以帮助确保网络正常运行。如今,SNMP已成为世界上最受欢迎的网络协议之一, 漫步 已成为一次扫描多个节点的首选方法.
SNMP如何工作?
但是,在查看snmpwalk命令之前,我们首先需要了解SNMP的工作方式。在启用SNMP的设备上, SNMP代理从设备收集信息 并将其存储在 管理信息库 (MIB)存储此数据的位置,以便每当SNMP管理器轮询SNMP代理时都可以访问该数据.
当SNMP管理器查询SNMP代理时,数据将从MIB中获取并发送到SNMP管理器,在此可以使用网络监视工具进行查看。您可以使用许多不同的命令来查询SNMP代理。最常见的方式是通过使用 得到 或者 GET-Next命令. GET命令用于获取 对象标识符 (OID)。 GET-Next命令更高级,它遍历了从OID到OID提取信息的MIB树。这就是snmpwalk进来的地方.
什么是snmpwalk?
snmpwalk是给的名字 自动运行多个GETNEXT请求的SNMP应用程序. SNMP GETNEXT请求用于查询设备并从设备获取SNMP数据。使用snmpwalk命令是因为它允许用户将GETNEXT请求链接在一起,而不必为子树中的每个OID或节点输入唯一的命令.
的 snmpwalk被发布到子树的根节点 这样就可以从每个连接的节点收集信息。这为您提供了一种从路由器和交换机等各种设备收集信息的有效方法。您收集的信息以OID的形式到达。 OID是对象,它是启用SNMP的设备中MIB的一部分.
在Windows上安装snmpwalk
对于Windows用户而言,在Windows上安装snmpwalk的过程非常简单.
- 首先,您需要从zip文件下载并提取以下文件:
https://sourceforge.net/projects/net-snmp/files/net-snmp/ - 将snmpwalk.exe文件保存在计算机上后,单击 开始 > 搜索 指令 然后按 输入. 这将显示命令行提示窗口.
- 拖动 snmpwalk.exe 档案进入黑色视窗.
如果您不想从命令行执行文件,则可以从此处的链接下载.exe安装程序(请注意,您可以选择最新版本): http://sourceforge.net/projects/net-snmp/files/net-snmp/
在Linux上安装snmpwalk
在Linux设备上,可以将snmpwalk作为软件包安装。这样做的过程取决于您的Linux发行版。但是,您可以通过输入以下命令来安装Linux:
- Redhat / Fedora / CentOs:yum install net-snmp-utils
- Ubuntu:apt-get安装snmp
Windows和Linux中的Snmpwalk参数和选项
Snmpwalk具有一系列可以使用的不同参数。其中包括:
- 主机名 – SNMP代理名称.
- 社区 -阅读社区的类型.
- object_id –指定对象ID以返回其下的所有SNMP对象。如果为NULL,则将SNMP对象的根作为object_id.
- 暂停 –第一次超时前的微秒数.
- 重试 –超时时重试连接多少次.
- -操作系统 –显示OID的最后一个符号元素.
- -C -设置社区字符串.
- -v –指定要使用的SNMP版本.
如何最小化通过snmpwalk看到的信息
运行snmpwalk时,您会注意到的第一件事是,结果太多,您无法阅读。您可以轻松获得数千种不同的结果。为了解决这个问题,供应商可以通过为您提供 MIB文件. MIB文件用于指定设备上可用的OID. 许多供应商为您拥有的每个设备提供一个MIB文件。有了MIB文件,您可以运行特定于该文件的查询,而不必遍历所有内容.
也可以看看: SMNP工具
Snmpwalk示例
在设备上使用snmpwalk时,SNMP代理将为您提供一系列值。从开始的OID开始,您将逐步浏览OID。如果在设备上输入snmpwalk命令,则将显示与以下类似的结果:
$ snmpwalk -v1 -c public 10.10.1.224
SNMPv2-MIB :: sysDescr.0 =字符串:APC Web / SNMP管理卡
SNMPv2-MIB :: sysObjectID.0 = OID:SNMPv2-SMI :: enterprises.318.1.3.7
SNMPv2-MIB :: sysUpTime.0 =时间间隔:(47372422)5天,11:35:24.22
SNMPv2-MIB :: sysContact.0 =字符串:Comparitech
SNMPv2-MIB :: sysName.0 =字符串:APC-3425
SNMPv2-MIB :: sysLocation.0 =字符串:3425EDISON
SNMPv2-MIB :: sysServices.0 =整数:72
IF-MIB :: ifNumber.0 =整数:1
IF-MIB :: ifIndex.1 =整数:1
IF-MIB :: ifDescr.1 = STRING:veya
…………
SNMPv2-MIB :: snmpOutGetResponses.0 = Counter32:338
SNMPv2-MIB:snmpOutTraps.0 = Counter32:0
SNMPv2-MIB :: snmpEnableAuthenTraps.0 =整数:0
$
如您所见,单个命令会生成很多信息。大多数行包括从MIB提取的信息.
在下面的示例中,您可以看到没有MIB的snmpwalk示例。第一行中的第二个数字或.1.3.6.1.4.1.318是我们从其开始的OID.
$ snmpwalk -v1 -c public 10.10.1.224 .1.3.6.1.4.1.318
SNMPv2-SMI :: enterprises.318.1.1.1.1.1.1.0 = STRING:“ Silcon DP340E”
SNMPv2-SMI :: enterprises.318.1.1.1.1.1.2.0 = STRING:“ UPS_IDEN”
SNMPv2-SMI :: enterprises.318.1.1.1.1.2.1.0 = STRING:“ 314.10.D
……
但是,如果您具有特定的MIB,则可以从要查看的对象中获得返回给您的更多详细信息。在下面的示例中,-m命令表示将要查询的MIB.
$ snmpwalk -v1 -c public -m“ ./APC-POWERNET.txt” 10.10.1.224 apc
PowerNet-MIB :: upsBasicIdentModel.0 = STRING:“ Silcon DP340E”
PowerNet-MIB :: upsBasicIdentName.0 = STRING:“ UPS_IDEN”
PowerNet-MIB :: upsAdvIdentFirmwareRevision.0 = STRING:“ 314.10.D”
…..
以下是Linux上的snmpwalk示例命令。如您所见,此功能的运行方式与通过OID从连接的设备中提取相关信息的方式几乎相同:
#%snmpwalk-v 1本地主机公共系统#system.sysDescr.o =“ SunOS名称sun4c”
#system.sysObjectID.o = OID:enterprises.ucdavis.ucdSnmpAgent.sunos4
#system.sys.UpTime.o = Timeticks(595637548)68天,22:32:55
#system.sysContact.o =“ [email protected]>”
#system.sysName.o =“ Ridyadh_o8_WS”
#system.sysLocation.o =“里德哈德,KSA”
#system.sysServices.o = 72
使用snmpwalk节省时间
漫步 似乎是一个复杂的概念,但实际上并非如此。 snmpwalk命令很简单 使用多个GETNEXT请求的快捷方式,而无需键入很多不同的命令. 使用一个snmpwalk命令,您可以启动许多不同的GETNEXT并查看您的基础结构运行状况.
如果您使用的是snmpwalk命令,则切记要尽可能减少收到的信息量,这一点很重要。指定MIB将允许您查看特定信息,而不是查看从整个对象ID数据库收集的数据!
通过这种方式从整个网络的设备中提取SNMP数据,可以确保您不会错过网络上发生的任何重要事件。出现所有snmpwalk命令后,可以帮助您尽可能高效地从网络中的设备中提取SNMP数据.
将MIB与SNMP代理一起使用
SNMP代理收集网络设备信息并将其存储在管理信息库(MIB)中,并可以通过强大的SNMP工具访问.
使用PRTG进行Paessler SNMP,MIB和OID监视(免费试用)
用 Paessler的PRTG网络监视器, 您可以从一个直观的仪表板中全部部署SNMP,MIBS和OID。 PRTG使用SNMP监视您的网络并处理您的MIB和OID。设置完成后,PRTG可以开始收集网络上每个设备及其运行的软件上的所有相关数据。信息存储在树状和分支结构中,每个供应商都组成树状分支,可帮助您识别网络中的每个设备并对其进行故障排除.
PRTG Network Monitor可免费试用30天.
使用PRTG进行Paessler SNMP,MIB和OID监控下载30天免费试用版
也可以看看:最佳SNMP监视工具
MP代理一起使用是非常重要的,因为它可以帮助您更好地理解从设备中收集的数据。SNMP协议的出现为网络管理提供了更好的解决方案,使得网络管理员可以更好地监控和管理网络设备。在安装和使用snmpwalk时,需要注意参数和选项,以便最小化收到的信息量。通过使用snmpwalk命令,您可以轻松地从网络中的多个节点收集信息,这是网络管理的首选方法之一。