什么是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)。如下图:

SNMP详解_cacti

比如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       public
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
view    systemview    included  .1.3.6.1.2.1.1
view    systemview    included  .1.3.6.1.2.1.25.1.1
access  notConfigGroup ""      any      noauth    exact  systemview none none
syslocationUnknown (edit /etc/snmp/snmpd.conf)
syscontactRoot <root@localhost> (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     community
com2sec  notConfigUser  default     public

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

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

#        groupName      securityModel     securityName
group     notConfigGroup     v1          notConfigUser
group     notConfigGroup     v2c              notConfigUser

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

#        name     incl/excl subtree mask(optional)
view    systemview    included  .1.3.6.1.2.1.1
view    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  notif
access 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 snmp
tcp      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.5
Web:               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.txt
BRIDGE-MIB.txt                       IF-MIB.txt                 NET-SNMP-EXTEND-MIB.txt    SNMP-COMMUNITY-MIB.txt       SNMPv2-TM.txt
DISMAN-EVENT-MIB.txt                 INET-ADDRESS-MIB.txt       NET-SNMP-MIB.txt           SNMP-FRAMEWORK-MIB.txt       SNMP-VIEW-BASED-ACM-MIB.txt
DISMAN-SCHEDULE-MIB.txt              IP-FORWARD-MIB.txt         NET-SNMP-PASS-MIB.txt      SNMP-MPD-MIB.txt             TCP-MIB.txt
DISMAN-SCRIPT-MIB.txt                IP-MIB.txt                 NET-SNMP-TC.txt            SNMP-NOTIFICATION-MIB.txt    TRANSPORT-ADDRESS-MIB.txt
EtherLike-MIB.txt                    IPV6-ICMP-MIB.txt          NET-SNMP-VACM-MIB.txt      SNMP-PROXY-MIB.txt           UCD-DEMO-MIB.txt
HCNUM-TC.txt                         IPV6-MIB.txt               NETWORK-SERVICES-MIB.txt   SNMP-TARGET-MIB.txt          UCD-DISKIO-MIB.txt
HOST-RESOURCES-MIB.txt               IPV6-TCP-MIB.txt           NOTIFICATION-LOG-MIB.txt   SNMP-USER-BASED-SM-MIB.txt   UCD-DLMOD-MIB.txt
HOST-RESOURCES-TYPES.txt             IPV6-TC.txt                RFC1155-SMI.txt            SNMP-USM-AES-MIB.txt         UCD-IPFWACC-MIB.txt
IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt  IPV6-UDP-MIB.txt           RFC1213-MIB.txt            SNMP-USM-DH-OBJECTS-MIB.txt  UCD-SNMP-MIB.txt
IANAifType-MIB.txt                   LM-SENSORS-MIB.txt         RFC-1215.txt               SNMPv2-CONF.txt              UDP-MIB.txt
IANA-LANGUAGE-MIB.txt                MTA-MIB.txt                RMON-MIB.txt               SNMPv2-MIB.txt
IANA-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_64
SNMPv2-MIB::sysObjectID.0= OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance= Timeticks: (233) 0:00:02.33
SNMPv2-MIB::sysContact.0= STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName.0= STRING: snmp
SNMPv2-MIB::sysLocation.0= STRING: Unknown (edit /etc/snmp/snmpd.conf)
SNMPv2-MIB::sysORLastChange.0= Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORID.1= OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2= OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3= OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4= OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5= OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6= OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7= OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8= OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-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 entities
SNMPv2-MIB::sysORDescr.5= STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6= STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7= STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8= STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1= Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.2= Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.3= Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.4= Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.5= Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.6= Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.7= Timeticks: (4) 0:00:00.04
SNMPv2-MIB::sysORUpTime.8= Timeticks: (4) 0:00:00.04
HOST-RESOURCES-MIB::hrSystemUptime.0= Timeticks: (1280858) 3:33:28.58
HOST-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.0
HOST-RESOURCES-MIB::hrSystemUptime.0= Timeticks: (1328085) 3:41:20.85

 

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

[root@snmp~]# vim /usr/share/snmp/mibs/TCP-MIB.txt
45 --the TCP base variables group
46
47 tcp      OBJECT IDENTIFIER ::= { mib-2 6 }              #从这里能看到它对应的标识符是6
48
49 --Scalars
 
 [root@snmp ~]# vim /etc/snmp/snmpd.conf         #修改主配置文件
55#view    all    included  .1
56view    systemview    included  .1.3.6.1.2.1.1
57view    systemview    included  .1.3.6.1.2.1.25.1.1
58view    systemview    included  .1.3.6.1.2.1.6          #加上此行
59
60 ####
 
[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 milliseconds
TCP-MIB::tcpRtoMax.0= INTEGER: 120000 milliseconds
TCP-MIB::tcpMaxConn.0= INTEGER: -1
TCP-MIB::tcpActiveOpens.0= Counter32: 108
TCP-MIB::tcpPassiveOpens.0= Counter32: 3
TCP-MIB::tcpAttemptFails.0= Counter32: 0
TCP-MIB::tcpEstabResets.0= Counter32: 53
TCP-MIB::tcpCurrEstab.0= Gauge32: 1
TCP-MIB::tcpInSegs.0= Counter32: 20710
TCP-MIB::tcpOutSegs.0= Counter32: 14535
TCP-MIB::tcpRetransSegs.0= Counter32: 23
TCP-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.0
TCP-MIB::tcpConnLocalAddress.127.0.0.1.25.0.0.0.0.0= IpAddress: 127.0.0.1
TCP-MIB::tcpConnLocalAddress.127.0.0.1.199.0.0.0.0.0= IpAddress: 127.0.0.1
TCP-MIB::tcpConnLocalAddress.127.0.0.1.631.0.0.0.0.0= IpAddress: 127.0.0.1
TCP-MIB::tcpConnLocalAddress.192.168.116.205.22.192.168.116.1.64184= IpAddress: 192.168.116.205
TCP-MIB::tcpConnLocalPort.0.0.0.0.22.0.0.0.0.0= INTEGER: 22
TCP-MIB::tcpConnLocalPort.127.0.0.1.25.0.0.0.0.0= INTEGER: 25
TCP-MIB::tcpConnLocalPort.127.0.0.1.199.0.0.0.0.0= INTEGER: 199
TCP-MIB::tcpConnLocalPort.127.0.0.1.631.0.0.0.0.0= INTEGER: 631
TCP-MIB::tcpConnLocalPort.192.168.116.205.22.192.168.116.1.64184= INTEGER: 22
TCP-MIB::tcpConnRemAddress.0.0.0.0.22.0.0.0.0.0= IpAddress: 0.0.0.0
TCP-MIB::tcpConnRemAddress.127.0.0.1.25.0.0.0.0.0= IpAddress: 0.0.0.0
TCP-MIB::tcpConnRemAddress.127.0.0.1.199.0.0.0.0.0= IpAddress: 0.0.0.0
TCP-MIB::tcpConnRemAddress.127.0.0.1.631.0.0.0.0.0= IpAddress: 0.0.0.0
TCP-MIB::tcpConnRemAddress.192.168.116.205.22.192.168.116.1.64184= IpAddress: 192.168.116.1
TCP-MIB::tcpConnRemPort.0.0.0.0.22.0.0.0.0.0= INTEGER: 0
TCP-MIB::tcpConnRemPort.127.0.0.1.25.0.0.0.0.0= INTEGER: 0
TCP-MIB::tcpConnRemPort.127.0.0.1.199.0.0.0.0.0= INTEGER: 0
TCP-MIB::tcpConnRemPort.127.0.0.1.631.0.0.0.0.0= INTEGER: 0
TCP-MIB::tcpConnRemPort.192.168.116.205.22.192.168.116.1.64184= INTEGER: 64184
TCP-MIB::tcpInErrs.0= Counter32: 0
TCP-MIB::tcpOutRsts.0= Counter32: 58
TCP-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: 2216
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".22= Gauge32: 1506
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".25= Gauge32: 1619
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".199= Gauge32: 2418
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".631= Gauge32: 1373
TCP-MIB::tcpListenerProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".22= Gauge32: 1506
TCP-MIB::tcpListenerProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01".25= Gauge32: 1619
TCP-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                   *.*                   LISTEN
tcp   127.0.0.1.25           *.*                   LISTEN
tcp   127.0.0.1.199          *.*                   LISTEN
tcp   127.0.0.1.631          *.*                   LISTEN
tcp   192.168.116.205.22     192.168.116.1.64184   ESTABLISHED