1; 全称为simple network management protocol,中文为简单网络管理协议.
2; snmp协议的版本;
1; snmp v1(版本1); 有三个community认证, 分别是read-only( 只能获取信息 )、read-write( 能获取信息,也能发送控制指令 )、trap( agent主动联机nms );
2; snmp v2(版本2); 功能增强,但仍基于community的认证; 因此又称2c版本;
3; snmp v3(版本3); 这个版本认证加强,但少人用.
3; snmp的服务器;
1; snmp的服务器主要被人称为nms(network management station,网络管理工作站), 因为它可以用来收集各种信息;
2; snmp的服务器并不一定需要监听某个端口,因为一般来说,都是服务器主动去向客户端要求获取一些信息; 当服务器有监听端口的时候,那就是客户需要主动发送信息给服务器。这时信息的交流的主动双向的。
3; snmp服务器端可以做的操作;( get, getnext, getbulk, set, getresponse )
4; snmp的客户端;
1; snmp的客户端主要被人称为agent.
2; snmp的客户端相对于其它客户端来讲比较特殊,因为它需要监听某个端口(netstat -tlunp,snmp客户端主要监听的是161端口), 一般像ftp, http等服务都是服务器端才需要监听端口;
5: snmp的工作原理;
snmp的nms通过指令向正在监听某个端口的客户( agent )发送查询、控制指令;
6: snmp的mib( snmp的mib是比较难理解的一个方面 );
1; snmp获取信息最终是靠oid来获取的,oid类似于ip。 ip区别主机,oid区别资源。
2; ip比较难记,于是产生了dns服务器. oid也比较难记,于是有了mib,mib维护着oid和名字之间的对应关系;
实践部分:
1:客户端:
1: yum install net-snmp (安装snmp agent)
2: /etc/init.d/snmpd restart (启动snmp agent服务)
2:服务器端:
1: yum install net-snmp-utils (安装snmp nms)
2: snmpwalk -v 2c -c public localhost host (输入这条指令即可获取主机信息)
3:snmp客户端的配置:
cat /etc/snmp/snmpd.conf | egrep -v '^#|^$' | less
default: 可以改为nms的ip,假如,只想让本地能够获取到机器的信息,就改成 127.0.0.1。如果想要让内网的nms可以获取信息,可以改成192.168.0.0/16、10.0.0.0/8等等
public: 就是snmpwalk 使用-c参数选择的community,一般这个默认要换掉,在公网上别人就比较难获取机器的信息。
view:就是允许nms能够获取您机器的哪些信息。
4:mib库的部分对应关系:
名字 oid
system: 1.3.6.1.2.1.1
interfaces: 1.3.6.1.2.1.2
ip: 1.3.6.1.2.1.4
tcp: 1.3.6.1.2.1.6
udp: 1.3.6.1.2.1.7
snmp: 1.3.6.1.2.1.11
host: 1.3.6.1.2.1.25