什么是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 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),这里是notConfigUser。Public相当于用户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:上下文,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 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端口,当SNMP向NMS发送trap时,NMS会打开162端口。厂商私有的实现一般使用199、391、705和1993端口。这里的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