什麼是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: [email protected] [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