SNMP命令
snmp命令
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
SNMP命令的更多相关文章
- 怎样在windows7上使用snmp命令
原文地址:http://wenboxz.com/archives/window7-use-snmp-command.html/
- 思科Cisco 2960系列交换机配置命令
配置密码: 2960>en :第一次密码为空 2960h#conf t :进入全局配置模式 2960(config)#hostname swa :设置交换机名 2960(config)#enab ...
- 浅议SNMP安全、SNMP协议、网络管理学习
相关学习资料 tcp-ip详解卷1:协议.pdf(重点看25章SNMP部分) http://www.rfc-editor.org/rfc/rfc1213.txt http://www.rfc-edit ...
- SNMP MIB中的含read-create节点的表的实现
做过snmp/mib开发的知道,常见的节点类型一般只有no-accessible,read-only,read-write三种访问类型.snmp V2中引入了一种新的访问类型:read-create. ...
- 基于W5500的嵌入式SNMP代理端实现
一 实验背景 近期一个做焊接设备的朋友想在焊机上加入监控的新功能,实时获取焊机的温度.功耗等參数,还可简单控制,实现对集群焊接设备的网络化管理.而这个朋友不想在开发管理系统上花太多精力,想找一个 ...
- SNMP概述–运维必知的协议基础
一.什么是SNMP? SNMP是 “Simple Network Management Protocol” 的缩写,中文意思是简单网络管理协议,它是由互联网工作小组在RFC1157中定义的应用层 ...
- 使用SNMP监控服务器运行情况
系统监测的基本概念及分类: a.系统监测的概述: 如何对现有IT架构的整体以及细节运行情况进行科学.系统和高效地监测是目前各企业运维和管理部门一项非常重要的工作内容.随着当前企业IT环境中服务器.应用 ...
- (转)cacti无图无数据等常见问题排查
推荐阅读:零基础学习Nagios http://www.51ou.com/browse/nagios/52001.htmlNagios安装配置教程 http://www.51ou.com/browse ...
- Linux下系统如何监控服务器硬件、操作系统、应用服务和业务
1.Linux监控概述 Linux服务器要保证系统的高可用性,需要实时了解到服务器的硬件.操作系统.应用服务等的运行状况,各项性能指标是否正常,需要使用各种LINUX命令.做到自动化运维就 ...
随机推荐
- Intellij IDEA 配置 Code Style
前言 昨天自说自话,闲扯了界面设计和代码规范.设计确实需要一些经验,也不一定能取悦所有人.而代码规范却是程序员所起码应当做到的,多人协作中,杂乱的代码就好像批阅潦草的作文,可读性极差. 然而这是个懒人 ...
- Box-shadow制作漂亮的外阴影输入框
背景:之前做项目中的一个移动端页面,关于在搜索框中输入信息查找对应的照片 改了几次ui图之后,最终的搜索框的设计图如下: 开始做页面的时候,就想到了用box-shadow 来实现外阴影边框.用bord ...
- js文件的框架
Ext.define("BeidaSoft.SFJCGL.rcjwgl.bdgl.BdglGrid", { extend : "BeidaSoft.XTGL.base.Q ...
- k8s的一些基本命令
kubernetes用到的一些命令 kubectl管理工具以及命令 基础命令:create,delete,get,run,expose,set,explain,edit. create命令:根据文件或 ...
- C#中实现Hash应用
在C#中,数据的Hash以MD5或SHA1的方式实现,MD5与SHA1都是Hash算法,MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高. 1.1 SHA- ...
- monkey基础使用教程,如何安装和monkey分析日志
1.概念 什么是monkey,monkey的作用是什么? Monkey是Android自身提供的,可以通过adb shell模拟用户行为,发送一些伪随机用户事件到目标设备上. Monkey和它的直接意 ...
- 工作中apache 403的一个小问题
最近在虚拟机上安装hadoop, 需要设备本地的网络源,所以启用了apache. 由于需要,首先修改了家目录的位置 指向/opt/www 然后修改家目录的配置文件 修改完成之后重启服务,访问目录 ...
- springboot(2)-阶段篇
web开发 spring boot web开发非常的简单,其中包括常用的json输出.filters.property.log等 json 接口开发 在以前的spring 开发的时候需要我们提供jso ...
- fiddler抓包小技巧之自动保存抓包数据(可根据需求过滤)
首先 选择 如果有别的提示的话,你就按着提示走,就会安装一个编辑器,叫Fiddler Script. 正常情况下,你按着上面操作之后就会出现如下界面: 完事了之后,按下Ctrl+F来查找OnBefor ...
- jieba:我虽然结巴,但是我会分词啊
介绍 jieba目前是一款比较好分词模块 分词 import jieba # 可以使用jieba.cut进行分词 sentence = "失去恋人所带来的苦痛远远超过了他的承受范围" ...