Snmputil 命令
Snmputil是一个命令行下的软件,使用语法如下: usage: snmputil get|getnext|walk] agent community oid [oid ...] snmputil trap
其中agent表示代理进程的IP地址,community表示团体名,oid表示MIB对象ID。
举例说明:
1)查看本地计算机(IP地址为192.168.0.3)的系统信息
通过对系统组的MIB对象的查阅,我们知道系统信息所对应的MIB对象为.1.3.6.1.2.1.1.1(参看系统组对象),我们使用get参数来查询:
C:>snmputil get 192.168.0.3 public .1.3.6.1.2.1.1.1.0
Variable = system.sysDescr.0
Value = String Hardware: x86 Family 15 Model 2 Stepping 7 AT/AT COMPATIBLE -
Software: Windows 2000 Version 5.1 (Build 2600 Uniprocessor Free)
其中public是192.168.0.3计算机上的团体名,.1.3.6.1.2.1.1.1.0是对象实例,注意对象ID前面要加一个点".",后面还要加一个"0"。如果不在对象ID末尾加上一个0,那么用get参数查询就会出错。从查询结果中我们能够看出操作系统版本和CPU类型。
2)查询计算机连续开机多长时间
C:>snmputil get 192.168.0.3 public .1.3.6.1.2.1.1.3.0
Variable = system.sysUpTime.0
Value = TimeTicks 447614
如果我们在对象ID后面不加0,使用getnext参数能得到同样的效果:
C:>snmputil getnext 192.168.0.3 public .1.3.6.1.2.1.1.3
Variable = system.sysUpTime.0
Value = TimeTicks 476123
3)查询计算机的联系人
C:>snmputil get 192.168.0.3 public .1.3.6.1.2.1.1.4.0
Variable = system.sysContact.0
Value = String administrator
以上简单介绍了用snmputil查询代理进程的方法,由于在命令行下使用,可能大家感到颇为不方便,但命令行的一个好处就是可以促进大家主动查阅MIB对象,加深对SNMP网络管理的认识。
4)使用walk查询设备上所有正在运行的进程:
C:>snmputil walk 192.168.0.3 public .1.3.6.1.2.1.25.4.2.1.2
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.1
Value = String System Idle Process
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.4
Value = String System
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.292
Value = String snmputil.exe
Variable = host.hr
SWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.308
Value = String RavTimer.exe
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.336
Value = String RavMon.exe
限于篇幅笔者就不把所有进程列出来,大家可以在自己的计算机上面实验,以加强感性认识。
5)查询计算机上面的用户列表
C:>snmputil walk 192.168.0.3 public .1.3.6.1.4.1.77.1.2.25.1.1
Variable = .iso.org.dod.internet.private.enterprises. lanmanager.lanmgr-2.server.
svUserTable.svUserEntry.svUserName.4.117.115.101.114
Value = String user
Variable = .iso.org.dod.internet.private.enterprises. lanmanager.lanmgr-2.server.
svUserTable.svUserEntry.svUserName.5.71.117.101.115.116
Value = String Guest
Variable = .iso.org.dod.internet.private.enterprises. lanmanager.lanmgr-2.server.svUserTable.svUserEntry. svUserName.13.65.100.109.105.110. 105.115.116.114.97.116.111.114
Value = String Administrator
从中我们可以得知该计算机共有三个用户,它们分别为user、guest和administrator。
Snmputil还有一个trap的参数,主要用来陷阱捕捉,它可以接受代理进程上主动发来的信息。如果我们在命令行下面输入snmputil trap后回车,然后用错误的团体名来访问代理进程,这时候就能收到代理进程主动发回的报告。
在MIBII中总共有175个对象,每个对象均有其不同的含义,我们只有通过查阅MIB才能知道它们各自的作用。MIB对象是SNMP网络管理中的核心内容,只有深入了解MIB对象的含义我们才有可能知道如何去驾驭SNMP网络管理。
SNMP中MIB
1. SNMP基本原理
SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。下图10是NMS公司网络产品中SNMP协议的实现模型。
mib0
SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。数据报结构如下图
mib1
版本识别符(version identifier):确保SNMP代理使用相同的协议,每个SNMP代理都直接抛弃与自己协议版本不同的数据报。
团体名(Community Name):用于SNMP从代理对SNMP管理站进行认证;如果网络配置成要求验证时,SNMP从代理将对团体名和管理站的IP地址进行认证,如果失败,SNMP从代理将向管理站发送一个认证失败的Trap消息
协议数据单元(PDU):其中PDU指明了SNMP的消息类型及其相关参数。
2. 管理信息库MIB
IETF规定的管理信息库MIB(由中定义了可访问的网络设备及其属性,由对象识别符(OID:Object Identifier)唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。
下图给出了NMS系统中SNMP可访问网络设备的对象识别树(OID:Object Identifier)结构。
mib2
下图给出了对一个DS1线路状态进行查询的OID设置例子。
mib3
3. SNMP的五种消息类型
SNMP中定义了五种消息类型:Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap
* Get-Request 、Get-Next-Request与Get-Response
SNMP管理站用Get-Request消息从拥有SNMP代理的网络设备中检索信息,而SNMP代理则用Get-Response消息响应。Get- Next-Request用于和Get-Request组合起来查询特定的表对象中的列元素。如:首先通过下面的原语获得所要查询的设备的接口数:
{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2)}
后再通过下面的原语,进行查询(其中第一次用Get-Request,其后用Get-Next-Request):
{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2)}
* Set-Request
SNMP管理站用Set-Request 可以对网络设备进行远程配置(包括设备名、设备属性、删除设备或使某一个设备属性有效/无效等)。
* Trap
SNMP代理使用Trap向SNMP管理站发送非请求消息,一般用于描述某一事件的发生。
SNMP管理信息库MIB
管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。SNMP的管理信息库采用和域名系统DNS相似的树型结构,它的根在最上面,根没有名字。下图画的是管理信息库的一部分,它又称为对象命名(objectnamingtree)。
mib4
管理信息库的对象命名举例
对象命名树的顶级对象有三个,即ISO、ITU-T和这两个组织的联合体。在ISO的下面有4个结点,其中的饿一个(标号3)是被标识的组织。在其下面有一个美国国防部(Department of Defense)的子树(标号是6),再下面就是Internet(标号是1)。在只讨论Internet中的对象时,可只画出Internet以下的子树(图中带阴影的虚线方框),并在Internet结点旁边标注上{1.3.6.1}即可。在Internet结点下面的第二个结点是mgmt(管理),标号是2。再下面是管理信息库,原先的结点名是mib。1991年定义了新的版本MIB- II,故结点名现改为mib-2,其标识为{1.3.6.1.2.1},或{Internet(1) .2.1}。这种标识为对象标识符。
最初的结点mib将其所管理的信息分为8个类别,见表1。现在de mib-2所包含的信息类别已超过40个。
表1 最初的结点mib管理的信息类别
类别
标号
所包含的信息
system
interfaces
address translation
ip
icmp
tcp
udp
egp
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
主机或路由器的操作系统
各种网络接口及它们的测定通信量
地址转换(例如ARP映射)
Internet软件(IP分组统计)
ICMP软件(已收到ICMP消息的统计)
TCP软件(算法、参数和统计)
UDP软件(UDP通信量统计)
EGP软件(外部网关协议通信量统计)
应当指出,MIB的定义与具体的网络管理协议无关,这对于厂商和用户都有利。厂商可以在产品(如路由器)中包含SNMP代理软件,并保证在定义新的MIB项目后该软件仍遵守标准。用户可以使用同一网络管理客户软件来管理具有不同版本的MIB的多个路由器。当然,一个没有新的MIB项目的路由器不能提供这些项目的信息。
这里要提一下MIB中的对象{1.3.6.1.4.1},即enterprises(企业),其所属结点数已超过3000。例如IBM为 11.3.6.1.4.1.2},Cisco为{1.3.6.1.4.1.9},Novell为{1.3.6.1.4.1.23}等。世界上任何一个公司、学校只要用电子邮件发往iana-mib@isi.edu进行申请即可获得一个结点名。这样各厂家就可以定义自己的产品的被管理对象名,使它能用 SNMP进行管理。
SNMP 命令行接口的语法和常用参数
WebLogic SNMP 代理命令的形式如下所示:
java command-name arguments
表 5-1 描述大多数 WebLogic SNMP 代理命令常用的参数。
表 5-1 常用命令行参数
参数
定义
-d
在命令输出中包括调试信息和数据包转储。
-v {v1 | v2}
指定是否使用 SNMPv1 或 SNMPv2 与 SNMP 代理进行通信。
当配置 SNMP 代理时,指定的 SNMP 版本必须和在“陷阱版本”字段中设置的 SNMP 版本相同(如“管理控制台联机帮助”中的配置 SNMP 代理所述)
如果不指定值,该命令将假定 -v v1。
-c snmpCommunity
[@server_name | @domain_name
为 WebLogic SNMP 代理设置的社区名称,并可选择指定用于承载您要交互的对象的服务器实例。
要请求管理服务器上的受管对象,请指定:
snmpCommunity
其中,snmpCommunity为当配置 SNMP 代理时在“社区前缀”字段中设置的 SNMP 社区名称(如“管理控制台联机帮助”中的配置 SNMP 代理所述)。
要请求单个受管服务器上的受管对象,请指定:
snmpCommunity@server_name
其中,server_name为受管服务器的名称。
要为域中的所有服务器实例请求受管对象,请按下列形式指定社区字符串:
snmpCommunity@domain_name
其中,domain_name为 WebLogic Server 域的名称。
如果不为此参数指定值,那么命令假定
-c public,从而使用默认社区名称,并假定指定的受管对象在管理服务器上。
-p snmpPort
WebLogic SNMP 代理监听请求的端口号。
如果不指定值,该命令将假定 -p 161。
-t timeout
命令等待成功连接到 SNMP 代理的毫秒数。
如果不指定值,该命令将假定 -t 5000。
-r retries
命令重新尝试连接到 SNMP 代理的失败次数。
如果不指定值,命令在首次尝试失败时就退出。
host
承载 WebLogic Server 管理服务器的计算机的 DNS 名称或 IP 地址,WebLogic SNMP 代理在此 WebLogic Server 管理服务器上运行。
http://www.oraclefmw.com/wls92/admin_ref/snmpcli.html
分享到:
相关推荐
在这个场景中,我们关注的是如何在Windows 64位系统上使用SNMP命令工具,特别是通过UDP(User Datagram Protocol,用户数据报协议)进行发包操作。 首先,我们要理解SNMP命令的基本结构。在描述中提到的`snmpwalk`...
本文将深入探讨如何在Windows下编写SNMP扩展DLL源代码,实现自定义的SNMP命令。 首先,理解SNMP的基本工作原理至关重要。SNMP由管理站(Manager)和代理(Agent)两部分组成。管理站负责发送请求,而代理则响应这些...
Netscreen防火墙的SNMP配置包括启用SNMP、设置Community、配置TRAP和Syslog等功能,具体命令集需参考Netscreen的官方文档。 **2. Cisco PIX防火墙SNMP配置** Cisco PIX防火墙的SNMP配置与Cisco系列设备的配置风格...
该手册涵盖了 SNMP 的基本概念、配置步骤、命令解释和实践示例等内容。 一、SNMP 概念 SNMP 是一种常用的网络管理协议,用于管理和监控网络设备。它允许网络管理员监控和管理网络设备的状态、性能和配置。SNMP ...
"snmp trap命令接收软件"是一个专为Windows平台设计的小型应用程序,它的主要作用是接收并显示来自SNMP代理的Trap通知。这对于测试和验证SNMP陷阱的正确配置以及监控网络设备的健康状况非常有用。通过使用这个工具,...
本文将详细介绍net-snmp在Windows x64操作系统中的安装、配置及使用,特别关注如何在命令行环境下执行snmp命令。 首先,"net-snmp.x64 last stable.zip"这个文件名表明我们正在处理的是一个针对64位Windows系统的...
`几个常用的snmp命令.txt` 可能包含了一些常用SNMP命令的示例,如`snmpwalk`、`snmpget`和`snmpset`。`snmpwalk`用于遍历MIB树,获取所有指定OID下的值;`snmpget`用于获取单个对象的值;而`snmpset`则用于设置对象...
“snmp讲义.ppt”可能包含以下内容:SNMP协议原理、MIB结构、SNMP命令的使用示例、在实际网络环境中的应用案例、以及如何配置和安全使用SNMP等。这个PPT对于理解和掌握SNMP及其在网络开关设备中的应用是非常有价值的...
4. **Client/Application**:实现SNMP命令的程序,可以发起GET、GET NEXT、SET请求,用于获取、遍历和修改网络设备的配置。同时,它们也可以作为响应接收者,处理来自Agent的响应或陷阱。 5. **SNMP协议操作**:...
SNMP 命令包括: 1. snmpd:响应 SNMP 请求包的代理服务器。 2. snmptrapd:接收并记录 SNMP trap 消息服务器。 3. snmpset:设置请求。 4. snmpget、snmpgetnext、snmpwalk:得到请求。 5. snmptrap:trap 产生...
首先,`snmp_testcmd.c` 是一个C语言编写的源代码文件,很可能是一个示例程序,展示了如何使用Netsnmp库发送SNMP命令。这个程序可能包括了初始化SNMP会话、设置目标主机和社区字符串、以及执行GET、SET或Trap操作等...
#### 八、SNMP命令测试 1. 使用命令`ln -fs /usr/local/net-snmp/bin/* /usr/local/bin/`创建软链接。 2. 测试SNMP功能:`snmpwalk -u myname -a MD5 -A mypassword -l auth 175.12.13.1 1.3.6.1.2.1.25.2.3.1.1`。 ...
MS提供了SNMP编程的样例代码,这个样例是一个最简单的Snmp管理程序,用户通过输入Snmp命令来进行交互。我们可以从中查看WinSNMP的API的使用方法。 首先,需要下载Platform SDK的最新版,可以从Microsoft官网下载。...
文档中还提到了SNMP4J-Agent是一个针对SNMP命令-响应域的应用编程接口(API)。SNMP4J-Agent由AgenPro代码生成工具负责生成代码,当使用SNMP4J-Agent代码生成模板时,AgenPro会利用这个模板中所携带的SNMP4J-Agent ...
3. **SNMP Manager**:由SNMP用户接口模块、SNMP命令生成模块和SNMP命令解释模块三部分组成。其中,SNMP用户接口模块处理由网页POST方式提交的管理请求;SNMP命令生成模块将这些请求封装成相应的SNMP命令发送给服务...
`SnmpAgent` 类可能包含了用于接收和处理SNMP请求的方法,而`SnmpManager` 类则负责构造并发送SNMP命令到网络中的其他设备。这两个类的实现涉及了SNMP的版本(如SNMPv1, SNMPv2c, SNMPv3)、报文结构、Trap(陷阱)...
3. **掌握SNMP命令用法**:熟悉MS-DOS模式下SNMP命令(如snmputil)的基本用法。 4. **实施远程监控**:学习使用SNMP服务远程监控Windows服务器的具体操作。 #### 四、实验内容详解 1. **安装SNMP组件**:首先需要...