什么是SNMP

简单网络管理协议(SNMPSimple Network Management Protocol)是由互联网工程任务组(IETFInternet Engineering Task Force )定义的一套网络管理协议。该协议基于简单网关监视协议(SGMPSimple Gateway Monitor Protocol)。

SNMP为不同厂家生产的不同种类、不同型号的设备定义了一个统一的规范,大大简化了设备管理员的管理工作,提高工作效率。

SNMP的工作方式

SNMP可以让一个管理工作站(NMS)远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。

SNMP有三种工作方式,SNMP提供GET操作向设备获取数据;SNMP提供SET操作向设备执行一些设置;SNMP还提供了Trap操作,主要用在设备发生一些重要故障或变化的时候的时候,向管理员发送通知,这个功能就是通常所说的SNMP陷阱。

SNMP相关概念

MIBManagement Information Base(IETF规定的管理信息库),定义了可访问的网络设备及其属性,由对象识别符(OIDObject Identifier)唯一指定。

SMIStructure of ManagementInformation(管理信息结构)SMI定义了SNMP中使用到的ASN.1类型、语法,并定义了SNMP中使用到的类型、宏、符号等。SMI用于后续协议的描述和MIB的定义。

ASN.1Abstract Syntax Notation One(抽象语法定义)。用于定义语法的正式语言,在SNMP中定义SNMP的协议数据单元PDU和管理对象MIB的格式。SNMP只使用了ASN.1中的一部分,而且使用ASN.1的语言特性定义了一些自定义类型和类型宏 ,这些组成了SMI

PDUProtocol Data Unit(协议数据单元),它是网络中传送的数据包。每一种SNMP操作,物理上都对应一个PDU

NMSNetwork Management System,网络管理系统,简称管理站。提供统一的用户接口访问SNMP代理,NMS是网络管理操作的发起者。

Agent:负责与管理站通信的代理,响应管理站的请求,在必要时向管理站发送trap信息。

Proxy:代理服务器,主要针对一些不同版本或不支持的SNMP协议的设备,对管理站的SNMP数据请求做转换工作。

TrapSNMP陷阱,在设备发生一些重要故障或变化的时候的时候,向管理员发送通知。

BERBasic Encoding Rule,基本编码规格。描述如何将ASN.1类型的值编码为字符串的方法。它是ASN.1标准的一部分。BER编码将数据分成TLV三部分,TTag的缩写,是类型标识;LLength的缩写,标识类型的长度;VValue的缩写,标识数据内容。按照TLV的顺序对数据进行编码,生成字节流。SNMP使用BERSNMP的操作请求和应答编码后进行传输,并用于接收端进行解码。

SNMP的版本

SNMP有三个版本:v1v2v3

v1是最初实施SNMP协议。运行在像UDPIPOSI无连接网络服务(CLNS),DDPAppTalk Datagram-Delivery,IPX(Novell Internet Packet Exchange)之上,它的广泛使用使它成为因特网上实际的网络管理协议。

v2 增加和加强了一些协议操作,简化了trap消息,使trap和其他的getset消息格式相同。

v3在前面的版本上增加了安全能力和远程配置能力,为消息安全和VACMView-based Access Control Model)引入了USMUser-based Security Model)。

管理信息库MIB

IETF规定的管理信息库MIB(由中定义了可访问的网络设备及其属性,由对象识别符(OIDObject Identifier)唯一指定。SNMP的管理信息库采用树型结构,它的根在最上面,根没有名字。下图画的是管理信息库的一部分,它又称为对象命名(objectnamingtree)。如下图:

比如systemOID就可以从上次看出是1.3.6.1.2.1.1

SNMP的五种消息类型

SNMP中定义了五种消息类型:Get-RequestGet-ResponseGet-Next-RequestSet-RequestTrap 

NMSGet-Request消息从SNMP代理的设备中检索信息,而SNMP代理用Get-Response消息响应。Get-Next- Request用于获取Get-Request下面所有子类的元素信息。

NMS站用Set-Request 消息类型可以对网络设备进行远程配置。

SNMP代理使用Trap在特定情况下向NMS发送非请求消息。

SNMP的具体使用方法

Net-SNMP介绍

Net-SNMP是一个免费的、开放源码的SNMP实现。net-snmp支持snmpv1snmpv2snmpv3,它不仅提供了管理工具,还提供了一些开发配置工具,是一个功能强大且可扩展的SNMP代理。

Net-SNMP安装

本实验环境:CentOS 6.6X86_64

[root@snmp~]# rpm -ivhhttp://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm[root@snmp~]# yum install net-snmp net-snmp-utils –y     #如果不用代理发trap消息,可以不装net-snmp-utils[root@snmp~]# rpm -ql net-snmp           #看看都装了哪些东西/etc/rc.d/init.d/snmpd/etc/rc.d/init.d/snmptrapd/etc/snmp/etc/snmp/snmpd.conf/etc/snmp/snmptrapd.conf/etc/sysconfig/snmpd/etc/sysconfig/snmptrapd/usr/bin/net-snmp-create-v3-user/usr/bin/snmpconf/usr/sbin/snmpd/usr/sbin/snmptrapd/usr/share/doc/net-snmp-5.5/usr/share/doc/net-snmp-5.5/AGENT.txt/usr/share/doc/net-snmp-5.5/COPYING/usr/share/doc/net-snmp-5.5/ChangeLog.trimmed/usr/share/doc/net-snmp-5.5/EXAMPLE.conf/usr/share/doc/net-snmp-5.5/FAQ/usr/share/doc/net-snmp-5.5/NEWS/usr/share/doc/net-snmp-5.5/PORTING/usr/share/doc/net-snmp-5.5/README/usr/share/doc/net-snmp-5.5/README.agent-mibs/usr/share/doc/net-snmp-5.5/README.agentx/usr/share/doc/net-snmp-5.5/README.krb5/usr/share/doc/net-snmp-5.5/README.mib2c/usr/share/doc/net-snmp-5.5/README.snmpv3/usr/share/doc/net-snmp-5.5/README.thread/usr/share/doc/net-snmp-5.5/TODO/usr/share/doc/net-snmp-5.5/ipf-mod.pl/usr/share/doc/net-snmp-5.5/passtest/usr/share/man/man1/net-snmp-create-v3-user.1.gz/usr/share/man/man1/snmpconf.1.gz/usr/share/man/man5/snmp_config.5.gz/usr/share/man/man5/snmpd.conf.5.gz/usr/share/man/man5/snmpd.examples.5.gz/usr/share/man/man5/snmpd.internal.5.gz/usr/share/man/man5/snmptrapd.conf.5.gz/usr/share/man/man5/variables.5.gz/usr/share/man/man8/snmpd.8.gz/usr/share/man/man8/snmptrapd.8.gz/usr/share/snmp/usr/share/snmp/snmpconf-data/usr/share/snmp/snmpconf-data/snmp-data/usr/share/snmp/snmpconf-data/snmp-data/authopts/usr/share/snmp/snmpconf-data/snmp-data/debugging/usr/share/snmp/snmpconf-data/snmp-data/mibs/usr/share/snmp/snmpconf-data/snmp-data/output/usr/share/snmp/snmpconf-data/snmp-data/snmpconf-config/usr/share/snmp/snmpconf-data/snmpd-data/usr/share/snmp/snmpconf-data/snmpd-data/acl/usr/share/snmp/snmpconf-data/snmpd-data/basic_setup/usr/share/snmp/snmpconf-data/snmpd-data/extending/usr/share/snmp/snmpconf-data/snmpd-data/monitor/usr/share/snmp/snmpconf-data/snmpd-data/operation/usr/share/snmp/snmpconf-data/snmpd-data/snmpconf-config/usr/share/snmp/snmpconf-data/snmpd-data/system/usr/share/snmp/snmpconf-data/snmpd-data/trapsinks/usr/share/snmp/snmpconf-data/snmptrapd-data/usr/share/snmp/snmpconf-data/snmptrapd-data/authentication/usr/share/snmp/snmpconf-data/snmptrapd-data/formatting/usr/share/snmp/snmpconf-data/snmptrapd-data/logging/usr/share/snmp/snmpconf-data/snmptrapd-data/runtime/usr/share/snmp/snmpconf-data/snmptrapd-data/snmpconf-config/usr/share/snmp/snmpconf-data/snmptrapd-data/traphandle/var/run/net-snmp [root@snmp~]# rpm -ql net-snmp-utils/usr/bin/encode_keychange/usr/bin/snmpbulkget/usr/bin/snmpbulkwalk/usr/bin/snmpdelta/usr/bin/snmpdf/usr/bin/snmpget/usr/bin/snmpgetnext/usr/bin/snmpinform/usr/bin/snmpnetstat/usr/bin/snmpset/usr/bin/snmpstatus/usr/bin/snmptable/usr/bin/snmptest/usr/bin/snmptranslate/usr/bin/snmptrap/usr/bin/snmpusm/usr/bin/snmpvacm/usr/bin/snmpwalk/usr/share/man/man1/encode_keychange.1.gz/usr/share/man/man1/snmpbulkget.1.gz/usr/share/man/man1/snmpbulkwalk.1.gz/usr/share/man/man1/snmpcmd.1.gz/usr/share/man/man1/snmpconf.1.gz/usr/share/man/man1/snmpdelta.1.gz/usr/share/man/man1/snmpdf.1.gz/usr/share/man/man1/snmpget.1.gz/usr/share/man/man1/snmpgetnext.1.gz/usr/share/man/man1/snmpinform.1.gz/usr/share/man/man1/snmpnetstat.1.gz/usr/share/man/man1/snmpset.1.gz/usr/share/man/man1/snmpstatus.1.gz/usr/share/man/man1/snmptable.1.gz/usr/share/man/man1/snmptest.1.gz/usr/share/man/man1/snmptranslate.1.gz/usr/share/man/man1/snmptrap.1.gz/usr/share/man/man1/snmpusm.1.gz/usr/share/man/man1/snmpvacm.1.gz/usr/share/man/man1/snmpwalk.1.gz/usr/share/man/man5/snmp.conf.5.gz/usr/share/man/man5/variables.5.gz

 

SNMP配置

[root@snmp~]# egrep -v '^$|#' /etc/snmp/snmpd.conf         com2secnotConfigUser  default       publicgroup   notConfigGroup v1           notConfigUsergroup   notConfigGroup v2c           notConfigUserview    systemview    included  .1.3.6.1.2.1.1view    systemview    included  .1.3.6.1.2.1.25.1.1access  notConfigGroup ""      any      noauth    exact  systemview none nonesyslocationUnknown (edit /etc/snmp/snmpd.conf)syscontactRoot 
 (configure /etc/snmp/snmp.local.conf)dontLogTCPWrappersConnectsyes

 

查看配置文件一共只有不到10行,其他都是注释,下面具体解释他们的含义:

1、首选是定义一个共同体名(community),这里是public(多数SNMP设备或服务默认都是是用public),及可以访问这个public的用户名(sec name),这里是notConfigUserPublic相当于用户notConfigUser的密码:) ,source net-snmp中用来对来源IP加以控制,即哪些可以获取SNMP信息

#      sec.name       source     communitycom2sec  notConfigUser  default     public

2、定义一个组名(groupName)这里是notConfigGroup,及组的安全级别,把notConfigGroup这个用户加到这个组中。

sec.model:安全模式,可选值为v1/v2c/usm

#        groupName      securityModel     securityNamegroup     notConfigGroup     v1          notConfigUsergroup     notConfigGroup     v2c              notConfigUser

3、定义一个可操作的范围(view)

#        name     incl/excl subtree mask(optional)view    systemview    included  .1.3.6.1.2.1.1view    systemview    included  .1.3.6.1.2.1.25.1.1

注:

incl/excl:对下面的MIB子树是包括还是排除。

subtree:视图中涉及的MIB子树。

mask:掩码

4、定义notConfigUser这个组在all这个view范围内可做的操作(即权限),这时定义了notConfigUser组的成员可对.1这个范围做只读操作。

#    group          context  sec.model sec.level  prefix  read   write  notifaccess notConfigGroup  ""    any     noauth    exact  all     none   none

注:

context:上下文,v1v2c中始终为空。

sec.model:安全模式,可选值为v1/v2c/usm

sec.level:安全级别,可选值为auth/noauth/privv1v2c中只能为noauth

prefix:前缀,指定context如何与PDU中的context匹配,v3使用。

read:授权的读视图。

write:授权的写视图。

notif:授权的trap视图。

 

启动SNMP

[root@snmp~]# vim /etc/snmp/snmpd.conf[root@snmp~]# /etc/init.d/snmpd start正在启动 snmpd:                                           [确定][root@snmp~]# chkconfig snmpd on[root@snmp~]# netstat -tunlp |grep snmptcp      0   0 127.0.0.1:199   0.0.0.0:*    LISTEN  2306/snmpd         udp      0   0 0.0.0.0:161    0.0.0.0:*          2306/snmpd

 

#标准的SNMP服务使用161端口,当SNMPNMS发送trap时,NMS会打开162端口。厂商私有的实现一般使用1993917051993端口。这里的net-snmp使用161端口。

 

SNMP使用

[root@snmp~]# snmpd –v  #查看版本信息NET-SNMPversion:  5.5Web:               http://www.net-snmp.org/Email:            net-snmp-coders@lists.sourceforge.net[root@snmp~]# ls /usr/share/snmp/mibs/        #MIB存放位置AGENTX-MIB.txt                      IF-INVERTED-STACK-MIB.txt NET-SNMP-EXAMPLES-MIB.txt SMUX-MIB.txt                SNMPv2-TC.txtBRIDGE-MIB.txt                       IF-MIB.txt                 NET-SNMP-EXTEND-MIB.txt    SNMP-COMMUNITY-MIB.txt       SNMPv2-TM.txtDISMAN-EVENT-MIB.txt                 INET-ADDRESS-MIB.txt       NET-SNMP-MIB.txt           SNMP-FRAMEWORK-MIB.txt       SNMP-VIEW-BASED-ACM-MIB.txtDISMAN-SCHEDULE-MIB.txt              IP-FORWARD-MIB.txt         NET-SNMP-PASS-MIB.txt      SNMP-MPD-MIB.txt             TCP-MIB.txtDISMAN-SCRIPT-MIB.txt                IP-MIB.txt                 NET-SNMP-TC.txt            SNMP-NOTIFICATION-MIB.txt    TRANSPORT-ADDRESS-MIB.txtEtherLike-MIB.txt                    IPV6-ICMP-MIB.txt          NET-SNMP-VACM-MIB.txt      SNMP-PROXY-MIB.txt           UCD-DEMO-MIB.txtHCNUM-TC.txt                         IPV6-MIB.txt               NETWORK-SERVICES-MIB.txt   SNMP-TARGET-MIB.txt          UCD-DISKIO-MIB.txtHOST-RESOURCES-MIB.txt               IPV6-TCP-MIB.txt           NOTIFICATION-LOG-MIB.txt   SNMP-USER-BASED-SM-MIB.txt   UCD-DLMOD-MIB.txtHOST-RESOURCES-TYPES.txt             IPV6-TC.txt                RFC1155-SMI.txt            SNMP-USM-AES-MIB.txt         UCD-IPFWACC-MIB.txtIANA-ADDRESS-FAMILY-NUMBERS-MIB.txt  IPV6-UDP-MIB.txt           RFC1213-MIB.txt            SNMP-USM-DH-OBJECTS-MIB.txt  UCD-SNMP-MIB.txtIANAifType-MIB.txt                   LM-SENSORS-MIB.txt         RFC-1215.txt               SNMPv2-CONF.txt              UDP-MIB.txtIANA-LANGUAGE-MIB.txt                MTA-MIB.txt                RMON-MIB.txt               SNMPv2-MIB.txtIANA-RTPROTO-MIB.txt                 NET-SNMP-AGENT-MIB.txt     SCTP-MIB.txt               SNMPv2-SMI.txt [root@snmp~]# snmpwalk -v 2c -c public localhost     #查看localhost能获取到的所有MIB的信息,这个是在配置文件的view中定义的,这里是默认设置。SNMPv2-MIB::sysDescr.0= STRING: Linux snmp 2.6.32-504.23.4.el6.x86_64 #1 SMP Tue Jun 9 20:57:37 UTC2015 x86_64SNMPv2-MIB::sysObjectID.0= OID: NET-SNMP-MIB::netSnmpAgentOIDs.10DISMAN-EVENT-MIB::sysUpTimeInstance= Timeticks: (233) 0:00:02.33SNMPv2-MIB::sysContact.0= STRING: Root 
 (configure /etc/snmp/snmp.local.conf)SNMPv2-MIB::sysName.0= STRING: snmpSNMPv2-MIB::sysLocation.0= STRING: Unknown (edit /etc/snmp/snmpd.conf)SNMPv2-MIB::sysORLastChange.0= Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORID.1= OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1SNMPv2-MIB::sysORID.2= OID: SNMP-USER-BASED-SM-MIB::usmMIBComplianceSNMPv2-MIB::sysORID.3= OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBComplianceSNMPv2-MIB::sysORID.4= OID: SNMPv2-MIB::snmpMIBSNMPv2-MIB::sysORID.5= OID: TCP-MIB::tcpMIBSNMPv2-MIB::sysORID.6= OID: IP-MIB::ipSNMPv2-MIB::sysORID.7= OID: UDP-MIB::udpMIBSNMPv2-MIB::sysORID.8= OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroupSNMPv2-MIB::sysORDescr.1= STRING: The MIB for Message Processing and Dispatching.SNMPv2-MIB::sysORDescr.2= STRING: The MIB for Message Processing and Dispatching.SNMPv2-MIB::sysORDescr.3= STRING: The SNMP Management Architecture MIB.SNMPv2-MIB::sysORDescr.4= STRING: The MIB module for SNMPv2 entitiesSNMPv2-MIB::sysORDescr.5= STRING: The MIB module for managing TCP implementationsSNMPv2-MIB::sysORDescr.6= STRING: The MIB module for managing IP and ICMP implementationsSNMPv2-MIB::sysORDescr.7= STRING: The MIB module for managing UDP implementationsSNMPv2-MIB::sysORDescr.8= STRING: View-based Access Control Model for SNMP.SNMPv2-MIB::sysORUpTime.1= Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.2= Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.3= Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.4= Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.5= Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.6= Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.7= Timeticks: (4) 0:00:00.04SNMPv2-MIB::sysORUpTime.8= Timeticks: (4) 0:00:00.04HOST-RESOURCES-MIB::hrSystemUptime.0= Timeticks: (1280858) 3:33:28.58HOST-RESOURCES-MIB::hrSystemUptime.0= No more variables left in this MIB View (It is past the end of the MIB tree) [root@snmp~]# snmpget -v 2c -c public localhost HOST-RESOURCES-MIB::hrSystemUptime.0HOST-RESOURCES-MIB::hrSystemUptime.0= Timeticks: (1328085) 3:41:20.85

 

下面查看TCP状态相关的MIB信息库中的信息

[root@snmp~]# vim /usr/share/snmp/mibs/TCP-MIB.txt45 --the TCP base variables group4647 tcp      OBJECT IDENTIFIER ::= { mib-2 6 }              #从这里能看到它对应的标识符是64849 --Scalars  [root@snmp ~]# vim /etc/snmp/snmpd.conf         #修改主配置文件55#view    all    included  .156view    systemview    included  .1.3.6.1.2.1.157view    systemview    included  .1.3.6.1.2.1.25.1.158view    systemview    included  .1.3.6.1.2.1.6          #加上此行5960 #### [root@snmp~]# /etc/init.d/snmpd restart停止 snmpd:                                              [确定]正在启动 snmpd:                                           [确定] [root@snmp~]# snmpwalk -v 2c -c public localhost tcp        #即可查看跟tcp相关的所有信息TCP-MIB::tcpRtoAlgorithm.0= INTEGER: other(1)TCP-MIB::tcpRtoMin.0= INTEGER: 200 millisecondsTCP-MIB::tcpRtoMax.0= INTEGER: 120000 millisecondsTCP-MIB::tcpMaxConn.0= INTEGER: -1TCP-MIB::tcpActiveOpens.0= Counter32: 108TCP-MIB::tcpPassiveOpens.0= Counter32: 3TCP-MIB::tcpAttemptFails.0= Counter32: 0TCP-MIB::tcpEstabResets.0= Counter32: 53TCP-MIB::tcpCurrEstab.0= Gauge32: 1TCP-MIB::tcpInSegs.0= Counter32: 20710TCP-MIB::tcpOutSegs.0= Counter32: 14535TCP-MIB::tcpRetransSegs.0= Counter32: 23TCP-MIB::tcpConnState.0.0.0.0.22.0.0.0.0.0= INTEGER: listen(2)TCP-MIB::tcpConnState.127.0.0.1.25.0.0.0.0.0= INTEGER: listen(2)TCP-MIB::tcpConnState.127.0.0.1.199.0.0.0.0.0= INTEGER: listen(2)TCP-MIB::tcpConnState.127.0.0.1.631.0.0.0.0.0= INTEGER: listen(2)TCP-MIB::tcpConnState.192.168.116.205.22.192.168.116.1.64184= INTEGER: established(5)TCP-MIB::tcpConnLocalAddress.0.0.0.0.22.0.0.0.0.0= IpAddress: 0.0.0.0TCP-MIB::tcpConnLocalAddress.127.0.0.1.25.0.0.0.0.0= IpAddress: 127.0.0.1TCP-MIB::tcpConnLocalAddress.127.0.0.1.199.0.0.0.0.0= IpAddress: 127.0.0.1TCP-MIB::tcpConnLocalAddress.127.0.0.1.631.0.0.0.0.0= IpAddress: 127.0.0.1TCP-MIB::tcpConnLocalAddress.192.168.116.205.22.192.168.116.1.64184= IpAddress: 192.168.116.205TCP-MIB::tcpConnLocalPort.0.0.0.0.22.0.0.0.0.0= INTEGER: 22TCP-MIB::tcpConnLocalPort.127.0.0.1.25.0.0.0.0.0= INTEGER: 25TCP-MIB::tcpConnLocalPort.127.0.0.1.199.0.0.0.0.0= INTEGER: 199TCP-MIB::tcpConnLocalPort.127.0.0.1.631.0.0.0.0.0= INTEGER: 631TCP-MIB::tcpConnLocalPort.192.168.116.205.22.192.168.116.1.64184= INTEGER: 22TCP-MIB::tcpConnRemAddress.0.0.0.0.22.0.0.0.0.0= IpAddress: 0.0.0.0TCP-MIB::tcpConnRemAddress.127.0.0.1.25.0.0.0.0.0= IpAddress: 0.0.0.0TCP-MIB::tcpConnRemAddress.127.0.0.1.199.0.0.0.0.0= IpAddress: 0.0.0.0TCP-MIB::tcpConnRemAddress.127.0.0.1.631.0.0.0.0.0= IpAddress: 0.0.0.0TCP-MIB::tcpConnRemAddress.192.168.116.205.22.192.168.116.1.64184= IpAddress: 192.168.116.1TCP-MIB::tcpConnRemPort.0.0.0.0.22.0.0.0.0.0= INTEGER: 0TCP-MIB::tcpConnRemPort.127.0.0.1.25.0.0.0.0.0= INTEGER: 0TCP-MIB::tcpConnRemPort.127.0.0.1.199.0.0.0.0.0= INTEGER: 0TCP-MIB::tcpConnRemPort.127.0.0.1.631.0.0.0.0.0= INTEGER: 0TCP-MIB::tcpConnRemPort.192.168.116.205.22.192.168.116.1.64184= INTEGER: 64184TCP-MIB::tcpInErrs.0= Counter32: 0TCP-MIB::tcpOutRsts.0= Counter32: 58TCP-MIB::tcpConnectionState.ipv4."192.168.116.205".22.ipv4."192.168.116.1".64184= INTEGER: established(5)TCP-MIB::tcpConnectionProcess.ipv4."192.168.116.205".22.ipv4."192.168.116.1".64184= Gauge32: 2216TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".22= Gauge32: 1506TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".25= Gauge32: 1619TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".199= Gauge32: 2418TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".631= Gauge32: 1373TCP-MIB::tcpListenerProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".22= Gauge32: 1506TCP-MIB::tcpListenerProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01".25= Gauge32: 1619TCP-MIB::tcpListenerProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01".631= Gauge32: 1373 [root@snmp~]# snmpnetstat -v 2c -c public -Can -Cp tcp 192.168.116.205       #查看远程主机的tcp的状态表ActiveInternet (tcp) Connections (including servers)ProtoLocal Address          RemoteAddress         (state)tcp   *.22                   *.*                   LISTENtcp   127.0.0.1.25           *.*                   LISTENtcp   127.0.0.1.199          *.*                   LISTENtcp   127.0.0.1.631          *.*                   LISTENtcp   192.168.116.205.22     192.168.116.1.64184   ESTABLISHED