snmp的使用
freebsd7.1安裝snmp?
cd?/usr/ports/net-mgmt/net-snmp?
make?
make?install?
net-snmp相關資料?
http://www.net-snmp.cn/?
Snmp分2種角色:SNMP管理站(manager,我們的本機127.0.0.1)和SNMP代理(agent,我們操作的機器,比如192.168.1.1)。代理是實際網絡設備中用來實現SNMP功能的部分。代理在UDP的161端口接收NMS的讀寫請求消息,管理站在UDP的162端口接收代理的事件通告消息。所以,一旦獲取設備的訪問權限(community,默認為public),就可以訪問設備信息、改寫和配置設備參數。由于采用UDP協議,不需要在代理和管理站之間保持連接。?
它對外提供了三種用于控制MIB對象的基本操作命令。它們是:Get、Set?和?Trap。?
Get:管理站讀取代理者處對象的值。它是SNMP協議中使用率最高的一個命令,因為該命令是從網絡設備中獲得管理信息的基本方式。??
Set:管理站設置代理者處對象的值。它是一個特權命令,因為可以通過它來改動設備的配置或控制設備的運轉狀態。它可以設置設備的名稱,關掉一個端口或清除一個地址解析表中的項等。?
Trap:代理者主動向管理站通報重要事件。它的功能就是在網絡管理系統沒有明確要求的前提下,由管理代理通知網絡管理系統有一些特別的情況或問題發生了。如果發生意外情況,客戶會向服務器的162端口發送一個消息,告知服務器指定的變量值發生了變化。通常由服務器請求而獲得的數據由服務器的161端口接收。Trap?消息可以用來通知管理站線路的故障、連接的終端和恢復、認證失敗等消息。管理站可相應的作出處理。?
http://blog.csdn.net/clearwater21cn/archive/2007/06/26/1667614.aspx?
一:通信字符串主要包含兩類命令:GET命令,SET命令。GET命令從設備讀取數據,這些數據通常是操作參數,例如連接狀態、接口名稱等。SET命令允許設置設備的某些參數,這類功能一般有限制,例如關閉某個網絡接口、修改路由器參數等功能。但很顯然,GET、SET命令都可能被用于拒絕服務攻擊(DoS)和惡意修改網絡參數。??
二:,最常見的默認通信字符串是public(只讀)和private(讀/寫),除此之外還有許多廠商私有的默認通信字符串。幾乎所有運行SNMP的網絡設備上,都可以找到某種形式的默認通信字符串。?
1.??????設置團體名和訪問權限
[SwitchA]snmp-agent?community?read?public
[SwitchA]snmp-agent?community?write?private
2.??????設置管理員標識、聯系方法以及物理位置
[SwitchA]snmp-agent?sys-info?contact?Mr.Wang-Tel:3306
[SwitchA]snmp-agent?sys-info?location?telephone-closet,3rd-floor
3.??????允許交換機發送Trap信息
[SwitchA]snmp-agent?trap?enable
4.??????允許向網管工作站192.168.0.2發送Trap報文,使用的團體名為public
[SwitchA]?snmp-agent?target-host?trap?address?udp-domain?192.168.0.2?udp-port?5000?params?securitynam
三:net-snmp安裝配置手冊?
http://wenku.baidu.com/view/cf0efc335a8102d276a22f6d.html?
http://net-snmp.cn/snmp/SNMP-protocol.html?
snmp學習筆記?
http://blog.csdn.net/clearwater21cn/archive/2007/06/26/1667614.aspx?
一:常用命令?
1,查錯?
/usr/local/sbin/snmpd?-f?-Le?-Dread_config?
/usr/local/sbin/snmpd?-f?-L?
2,查看本地信息?
/usr/local/bin/snmpwalk?-v?2c?-c?public?localhost?
(1)查詢ip地址?
/usr/local/bin/snmpwalk?-c?public?-v?1?192.168.0.79?1.3.6.1.2.1.4.20.1.1?
(2)查看icmp包的個數?
/usr/local/bin/snmpwalk?-c?public?-v?1?192.168.0.79?1.3.6.1.2.1.5.1?
(3)查看mac地址?
/usr/local/bin/snmpwalk?-c?public?-v?1?192.168.0.79?1.3.6.1.2.1.2.2.1.6?
(4)查看接口狀態。?
?/usr/local/bin/snmpwalk?-c?public?-v?1?192.168.0.79?1.3.6.1.2.1.2.2.1.8?
(5)查看機器安裝的所有程序?
snmpwalk?-c?mrtg?-v?1?192.168.0.205?1.3.6.1.2.1.25.6.3.1.2?
???????//建立一個SNMPv2c?PDU,它會從system(1.3.6.1.2.1.1)OID開始游走
//????????SnmpWalk?walk?=?new?SnmpWalk("192.168.100.10","1.3.6.1.2.1.1.5.0");//物理位置
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.2.2");//RAM
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1","1.3.6.1.2.1.25.2.3.1.6");//Hard?Disk
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.5.1.1.1");//CPU?Utilization
???????
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1","1.3.6.1.2.1.25.1");//也含本機物理總內存
????????//cpu:1.3.6.1.2.1.25.5.1.1.1
????????//memory:1.3.6.1.2.1.25.5.1.1.2?//得到的是每個進程的的內存使用值
???????
????????//1.3.6.1.2.1.25.3.3.1.2.1?//一個比較通用的看設備CPU利用率的OID值。取最后一分鐘的平均值。
???????
???????
????????//?Linux下可以.1.3.6.1.2.1.25.2和.1.3.6.1.2.1.25.5這兩個值試試
????????//====================================================
???????
????????//.1.3.6.1.4.1.311.1.1.3.1.1.1.2.0
???????
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1","1.3.6.1.2.1.1.1");//系統描述
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1","1.3.6.1.2.1.25.1.7.0");//本機物理總內存
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.4.2.1.2");//列出系統進程
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1",".1.3.6.1.4.1.77.1.2.25.1.1");//列出系統用戶列表
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1",".1.3.6.1.4.1.77.1.4.1");//列出域名(工作組)
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.6.3.1.2");//列出安裝的軟件
???????
???????
//????????SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.3.3.1.2");
???????
????????//SnmpWalk?walk?=?new?SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.4.2.1.2");//當前進程列表
???
????????//可用的內存數量:?.1.3.6.1.4.1.311.1.1.3.1.1.1.2.0
????????//磁盤利用率的OID:?.1.3.6.1.4.1.311.1.1.3.1.1.5.1.3.0
????????//CPU的利用率:?.1.3.6.1.4.1.311.1.1.3.1.1.2.1.3.1.48.0
????????//發送的字節數(包括組幀字符):?1.3.6.1.2.1.2.2.1.16.1
????????//收到的字節數(包括組幀字符):?1.3.6.1.2.1.2.2.1.10.1
???????
3,指定配置文件?
/usr/local/sbin/snmpd?-c?/etc/snmpd.config
4,配置文件/var/net-snmp/snmpd.conf?
#?STOP?STOP?STOP?STOP?STOP?STOP?STOP?STOP?STOP?
############################################################################?
#?
#?DO?NOT?STORE?CONFIGURATION?ENTRIES?HERE.?
#?Please?save?normal?configuration?tokens?for?snmpd?in?SNMPCONFPATH/snmpd.conf.?
#?Only?"createUser"?tokens?should?be?placed?here?by?snmpd?administrators.?
#?(Did?I?mention:?do?not?edit?this?file?)?
#??????????????????????????????????????????????????????
setserialno?444400136?
##############################################################?
#?
#?snmpNotifyFilterTable?persistent?data?
#?
##############################################################?
engineBoots?3?
oldEngineID?0x80001f88803879621e7bd7594b?
1,老機器默認的5.3.1?
location?:=?"Room?200"?
contact?:=?"sysmeister@example.com"?
system?:=?1?????#?FreeBSD?
traphost?:=?localhost?
trapport?:=?162?
read?:=?"public"?
write?:=?"geheim"?
trap?:=?"mytrap"?
%snmpd?
begemotSnmpdDebugDumpPdus???????=?2?
begemotSnmpdDebugSyslogPri??????=?7?
begemotSnmpdCommunityString.0.1?=?$(read)?
begemotSnmpdCommunityDisable????=?1?
begemotSnmpdPortStatus.0.0.0.0.161?=?1?
begemotSnmpdLocalPortStatus."/var/run/snmpd.sock"?=?1?
begemotSnmpdLocalPortType."/var/run/snmpd.sock"?=?4?
begemotTrapSinkStatus.[$(traphost)].$(trapport)?=?4?
begemotTrapSinkVersion.[$(traphost)].$(trapport)?=?2?
begemotTrapSinkComm.[$(traphost)].$(trapport)?=?$(trap)?
sysContact??????=?$(contact)?
sysLocation?????=?$(location)?
sysObjectId?????=?1.3.6.1.4.1.12325.1.1.2.1.$(system)?
snmpEnableAuthenTraps?=?2?
begemotSnmpdModulePath."mibII"??=?"/usr/lib/snmp_mibII.so"?
2,ee?/usr/local/share/snmp/snmpd.conf?
/usr/local/sbin/snmpd?-f?-Le?-Dread_config?
yslocation?YourDefineName?
syscontact?YourEmailAddress?
sysservices?77?
rocommunity?public?
load?12?12?12?
snmp名詞解釋?
1,管理模型的三個組成要素,是由被管理設備和管理設備、與管理信息庫組成。?
(引用來源:http://wenku.baidu.com/view/8e4c651aff00bed5b9f31d92.html)?
2簡單網絡管理協議(SNMP)在體系結構分為被管理的設備(Managed?Device)、?SNMP管理器(SNMP?Manager)和SNMP代理(SNMP?Agent)三個部分?
(引用來源:http://www.ixpub.net/thread-748229-1-1.html)?
1:管理站(management?station)基本等于“SNMP管理器(SNMP?Manager)”?
整個系統必須至少有一個管理站(management?station),它實際上是網控中心。?
SNMP管理器通過網絡管理軟件來進行管理工作。網絡管理軟件的主要功能之一,就是協助網絡管理員完成管理整個網絡的工作。網絡管理軟件要求SNMP代理定期收集重要的設備信息,收集到的信息將用于確定獨立的網絡設備、部分網絡或整個網絡運行的狀態是否正常。SNMP管理器定期查詢SNMP代理收集到的有關設備運轉狀態、配置及性能等的信息。
2,被管理設備可以是路由器、網管服務器、交換機、網橋、集線器等。每一個支持SNMP的網絡設備中都運行著一個SNMP代理進程Agent,它負責隨時收集和存儲管理信息,記錄網絡設備的各種情況,網絡管理軟件再通過SNMP通信協議查詢或修改代理所記錄的信息?
3,被管理對象(managed?object)?
被管理對象指可使用管理協議進行管理和控制的網絡資源的抽象表示。例如,一個層的實體或一個連接。?
4,NMS管理進程:(網絡管理站)?
管理進程可以向代理進程詢問某些參數值以外,它還可以按要求改變代理進程的參數值。負責發送請求和接收代理進程發過來的trap(代理主動通報)信息。?
5,Agent代理進程?
在每個被管理對象中一定要有代理進程,它負責隨時收集和存儲管理信息,記錄網絡設備的各種情況,網絡管理軟件再通過SNMP通信協議查詢代理所記錄的信息或修改代理所記錄的信息,管理進程和代理進程利用SNMP報文進行通信,而SNMP報文又使用UDP來傳送,理進程和代理進程之間的通信可以有兩種方式。一種是管理進程向代理進程發出請求,詢問或設置一個具體的參數值,稱為Polling;而另一種則是代理進程主動向管理進程報告某些重要事件發生,成為Trap。SNMP中默認的agent接聽端口是161,而接收trap的端口為162。?
6委托代理(proxy?agent)?
為沒有SNMP服務的設備提供資源信息,委托代理能提供如協議轉換和過濾操作的匯集功能。然后委托代理來對管理對象進行管理。有時網絡管理協議無法控制某些網絡元素,例如該網絡元素使用的是另一種網絡管理協議。這時可使用委托代理(proxy?agent)。?
nms和agent可以在一臺機子上共存。?
1,網絡元素?
網絡中具體的通信設備或邏輯實體,又稱網元?
2,對象(object)
通信和信息處理范疇里可標識的切擁有一定信息特性的資源。但應注意,這里所用的“對象”與面向對象系統中所定義的對象并不完全一樣。?
3,community?(共同體)?
共同體實際上就是用來實現管理應用實體之間身份鑒別的,可以把它理解為一個帶有權限的登陸賬戶,這是訪問網絡設備的重要憑據。假如community是public,其權限是只讀的,那你一?以此用戶登陸就可以查看有關記錄的數據。如果其權限是讀寫的,你就有權修改其中的一些設置,如封鎖某一個交換機的端口。大部分默認情況下,以public作為只讀community,以private作為讀寫community
SMI?“管理信息結構”是一套描述SNMP如何訪問信息的標準,它用ASN.1定義了MIB。?
SMI要求每個數據項有name、syntax和encoding三部分。名字就是OID。語法?
給出了數據類型,比如"integer"、"string?of?octets"等等。編碼則指明為?
了進行平臺無關網絡轉輸如何進行數據的序列化(RPC/XDR中存在類似概念)。
OID?“對象標識符”是唯一的點分數字串,比如".1.3.6.1.2.1.4.3.0"?
PDU?“協議數據單元”是SNMP消息中的數據區
ASN.1:一個SNMP消息通過抽象語法記法1(Abstract?Syntax?Notation,?version?1)
構造。ASN.1是一種形式語言。?
BER?:將ASN.1描述表示成octet?strings的基本編碼規則?
mib?”管理信息庫“
MIB是網絡管理系統中的重要構件,它有一個系統內的許多被管對象及其屬性組成。MIB這個概念實際上就是一個“虛擬數據庫”。這個數據庫提供有關被管理網絡元素的信息,而這些信息由管理進程和各個代理進程共享。MIB由管理進程和各個代理進程共同使用。?
?
http://www.alvestrand.no/objectid/1.3.6.1.2.1.1.1.html?
·?1.3.6.1.2.1.1.1?-?sysDescr?
·?1.3.6.1.2.1.1.2?-?sysObjectID?
·?1.3.6.1.2.1.1.3?-?sysUpTime?
·?1.3.6.1.2.1.1.4?-?sysContact?
·?1.3.6.1.2.1.1.5?-?sysName?
·?1.3.6.1.2.1.1.6?-?sysLocation?
·?1.3.6.1.2.1.1.7?-?sysServices??
·?1.3.6.1.2.1.4.1?-?ipForwarding?
·?1.3.6.1.2.1.4.2?-?ipDefaultTTL?
·?1.3.6.1.2.1.4.3?-?ipInReceives?
·?1.3.6.1.2.1.4.4?-?ipInHdrErrors?
·?1.3.6.1.2.1.4.5?-?ipInAddrErrors?
·?1.3.6.1.2.1.4.6?-?ipForwDatagrams?
·?1.3.6.1.2.1.4.7?-?ipInUnknownProtos?
·?1.3.6.1.2.1.4.8?-?ipInDiscards?
·?1.3.6.1.2.1.4.9?-?ipInDelivers?
·?1.3.6.1.2.1.4.10?-?ipOutRequests?
·?1.3.6.1.2.1.4.11?-?ipOutDiscards?
·?1.3.6.1.2.1.4.12?-?ipOutNoRoutes?
·?1.3.6.1.2.1.4.13?-?ipReasmTimeout?
·?1.3.6.1.2.1.4.14?-?ipReasmReqds?
·?1.3.6.1.2.1.4.15?-?ipReasmOKs?
·?1.3.6.1.2.1.4.16?-?ipReasmFails?
·?1.3.6.1.2.1.4.17?-?ipFragOKs?
·?1.3.6.1.2.1.4.18?-?ipFragFails?
·?1.3.6.1.2.1.4.19?-?ipFragCreates?
·?1.3.6.1.2.1.4.20?-?ipAddrTable?
·?1.3.6.1.2.1.4.21?-?ipRouteTable?
·?1.3.6.1.2.1.4.22?-?ipNetToMediaTable?
·?1.3.6.1.2.1.4.23?-?ipRoutingDiscards ?
總結
- 上一篇: Kali 2.0 采用ssh连接登陆
- 下一篇: 解析URI与URL之间的区别与联系