什么是SNMP
简单网络管理协议(SNMP:Simple Network Management Protocol)是由互联网工程任务组(IETF:Internet Engineering Task Force )定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP:Simple Gateway Monitor Protocol)。
SNMP为不同厂家生产的不同种类、不同型号的设备定义了一个统一的规范,大大简化了设备管理员的管理工作,提高工作效率。
SNMP的工作方式
SNMP可以让一个管理工作站(NMS)远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。
SNMP有三种工作方式,SNMP提供GET操作向设备获取数据;SNMP提供SET操作向设备执行一些设置;SNMP还提供了Trap操作,主要用在设备发生一些重要故障或变化的时候的时候,向管理员发送通知,这个功能就是通常所说的SNMP陷阱。
SNMP相关概念
MIB:Management Information Base(IETF规定的管理信息库),定义了可访问的网络设备及其属性,由对象识别符(OID:Object Identifier)唯一指定。
SMI:Structure of ManagementInformation(管理信息结构),SMI定义了SNMP中使用到的ASN.1类型、语法,并定义了SNMP中使用到的类型、宏、符号等。SMI用于后续协议的描述和MIB的定义。
ASN.1:Abstract Syntax Notation One(抽象语法定义)。用于定义语法的正式语言,在SNMP中定义SNMP的协议数据单元PDU和管理对象MIB的格式。SNMP只使用了ASN.1中的一部分,而且使用ASN.1的语言特性定义了一些自定义类型和类型宏 ,这些组成了SMI。
PDU:Protocol Data Unit(协议数据单元),它是网络中传送的数据包。每一种SNMP操作,物理上都对应一个PDU。
NMS:Network Management System,网络管理系统,简称管理站。提供统一的用户接口访问SNMP代理,NMS是网络管理操作的发起者。
Agent:负责与管理站通信的代理,响应管理站的请求,在必要时向管理站发送trap信息。
Proxy:代理服务器,主要针对一些不同版本或不支持的SNMP协议的设备,对管理站的SNMP数据请求做转换工作。
Trap:SNMP陷阱,在设备发生一些重要故障或变化的时候的时候,向管理员发送通知。
BER:Basic Encoding Rule,基本编码规格。描述如何将ASN.1类型的值编码为字符串的方法。它是ASN.1标准的一部分。BER编码将数据分成TLV三部分,T为Tag的缩写,是类型标识;L为Length的缩写,标识类型的长度;V为Value的缩写,标识数据内容。按照TLV的顺序对数据进行编码,生成字节流。SNMP使用BER将SNMP的操作请求和应答编码后进行传输,并用于接收端进行解码。
SNMP的版本
SNMP有三个版本:v1、v2、v3。
v1是最初实施SNMP协议。运行在像UDP,IP,OSI无连接网络服务(CLNS),DDP(AppTalk Datagram-Delivery),IPX(Novell Internet Packet Exchange)之上,它的广泛使用使它成为因特网上实际的网络管理协议。
v2 增加和加强了一些协议操作,简化了trap消息,使trap和其他的get和set消息格式相同。
v3在前面的版本上增加了安全能力和远程配置能力,为消息安全和VACM(View-based Access Control Model)引入了USM(User-based Security Model)。
管理信息库MIB
IETF规定的管理信息库MIB(由中定义了可访问的网络设备及其属性,由对象识别符(OID:Object Identifier)唯一指定。SNMP的管理信息库采用树型结构,它的根在最上面,根没有名字。下图画的是管理信息库的一部分,它又称为对象命名(objectnamingtree)。如下图:
比如system的OID就可以从上次看出是1.3.6.1.2.1.1
SNMP的五种消息类型
SNMP中定义了五种消息类型:Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap
NMS用Get-Request消息从SNMP代理的设备中检索信息,而SNMP代理用Get-Response消息响应。Get-Next- Request用于获取Get-Request下面所有子类的元素信息。
NMS站用Set-Request 消息类型可以对网络设备进行远程配置。
SNMP代理使用Trap在特定情况下向NMS发送非请求消息。
SNMP的具体使用方法
Net-SNMP介绍
Net-SNMP是一个免费的、开放源码的SNMP实现。net-snmp支持snmpv1、snmpv2、snmpv3,它不仅提供了管理工具,还提供了一些开发配置工具,是一个功能强大且可扩展的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),这里是notConfigUser。Public相当于用户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:上下文,v1、v2c中始终为空。
sec.model:安全模式,可选值为v1/v2c/usm。
sec.level:安全级别,可选值为auth/noauth/priv,v1、v2c中只能为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端口,当SNMP向NMS发送trap时,NMS会打开162端口。厂商私有的实现一般使用199、391、705和1993端口。这里的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