snmp命令

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

SNMP命令的更多相关文章

  1. 怎样在windows7上使用snmp命令

    原文地址:http://wenboxz.com/archives/window7-use-snmp-command.html/

  2. 思科Cisco 2960系列交换机配置命令

    配置密码: 2960>en :第一次密码为空 2960h#conf t :进入全局配置模式 2960(config)#hostname swa :设置交换机名 2960(config)#enab ...

  3. 浅议SNMP安全、SNMP协议、网络管理学习

    相关学习资料 tcp-ip详解卷1:协议.pdf(重点看25章SNMP部分) http://www.rfc-editor.org/rfc/rfc1213.txt http://www.rfc-edit ...

  4. SNMP MIB中的含read-create节点的表的实现

    做过snmp/mib开发的知道,常见的节点类型一般只有no-accessible,read-only,read-write三种访问类型.snmp V2中引入了一种新的访问类型:read-create. ...

  5. 基于W5500的嵌入式SNMP代理端实现

     一 实验背景 近期一个做焊接设备的朋友想在焊机上加入监控的新功能,实时获取焊机的温度.功耗等參数,还可简单控制,实现对集群焊接设备的网络化管理.而这个朋友不想在开发管理系统上花太多精力,想找一个 ...

  6. SNMP概述–运维必知的协议基础

    一.什么是SNMP?   SNMP是  “Simple Network Management Protocol” 的缩写,中文意思是简单网络管理协议,它是由互联网工作小组在RFC1157中定义的应用层 ...

  7. 使用SNMP监控服务器运行情况

    系统监测的基本概念及分类: a.系统监测的概述: 如何对现有IT架构的整体以及细节运行情况进行科学.系统和高效地监测是目前各企业运维和管理部门一项非常重要的工作内容.随着当前企业IT环境中服务器.应用 ...

  8. (转)cacti无图无数据等常见问题排查

    推荐阅读:零基础学习Nagios http://www.51ou.com/browse/nagios/52001.htmlNagios安装配置教程 http://www.51ou.com/browse ...

  9. Linux下系统如何监控服务器硬件、操作系统、应用服务和业务

    1.Linux监控概述       Linux服务器要保证系统的高可用性,需要实时了解到服务器的硬件.操作系统.应用服务等的运行状况,各项性能指标是否正常,需要使用各种LINUX命令.做到自动化运维就 ...

随机推荐

  1. 第一章 T-SQL查询和编程基础 T-SQL语言基础(1)

    T-SQL查询和编程基础(1) 1.1 理论背景 SQL是为查询和管理关系型数据库管理系统(RDBMS)中的数据而专门设计的一种标准语言. RDBMS是一种基于关系模型的数据库管理系统,关系模型则是一 ...

  2. loj 2392「JOISC 2017 Day 1」烟花棒

    loj 答案显然满足二分性,先二分一个速度\(v\) 然后显然所有没有点火的都会往中间点火的人方向走,并且如果两个人相遇不会马上点火,要等到火快熄灭的时候才点火,所以这两个人之后应该在一起行动.另外有 ...

  3. 埋在 MYSQL 数据库应用中的17个关键问题!

    Mysql的使用非常普遍,跟mysql有关的话题也非常多,如性能优化.高可用性.强一致性.安全.备份.集群.横向扩展.纵向扩展.负载均衡.读写分离等.要想掌握其中的精髓,可得花费不少功力,虽然目前流行 ...

  4. django 中实现文件下载的3种方式

    方法一:使用HttpResponse from django.shortcuts import HttpResponse def file_down(request): file=open('/hom ...

  5. git解决pre-commit hook failed的问题

    最近在提交前端代码的时候发现提交不上去,一直报错 一.错误详情 二.错误分析 1.刚开始用vsCode提交,后更改为命令提交,依旧报错: 2.经过查询资料,发现是pre-commit钩子的原因.   ...

  6. simhash算法:海量千万级的数据去重

    simhash算法:海量千万级的数据去重 simhash算法及原理参考: 简单易懂讲解simhash算法 hash 哈希:https://blog.csdn.net/le_le_name/articl ...

  7. python、第一篇:初识数据库

    一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件 ...

  8. linux基本操作和常用命令(2)

    linux基本操作和常用命令(2) 第二部分主要是涉及到用户和组的概念,以及一些操作.涉及到用户和组的共三个文件,分别存放在/etc/shadow(密码信息) /etc/group(组信息) /etc ...

  9. Jenkins 入门系列--jenkins 介绍

    第一章 Jenkins是什么? Jenkins 是一个可扩展的持续集成引擎. 主要用于: l 持续.自动地构建/测试软件项目. l 监控一些定时执行的任务. Jenkins拥有的特性包括: l 易于安 ...

  10. Liunx 用户权限之目录

    总结一下: 今天又对liunx权限的认知多了一点,就是关于目录的权限的作用 可以打个比方来形容就是:相当于一个大门 只有目录权限都有的情况下,才能够对目录中的文件进行目录权限操作 例如:drwxrwx ...