SNMP

标签(空格分隔): 随手记


SNMP基本理论

SNMP:manager、agent、MIB

manager:

get:
    就是网管,发送get信息到网络设备,比如manager要获取路由器的路由表,就会向路由器发送get信息来获取路由表。
    除了路由表还可以获取接口信息、MAC、ARP、接口UP/DOWN等信息。
set:manager可以对网络设备进行配置,比如改IP、主机名、接口shutdown、加个路由表等。

agent:

trap:
    这个是由网络设备发送的信息,比如交换机的CPU突然高了,就会发送trap给manager我的CPU过高;
    或者交换机接口down了,也会发送给manager。
    agent发送给manager的数字(信息),也叫作OID

2018-11-10_12-00-30.png-249.8kB 工作中不推荐用V1和V2c,不安全 测试的时候可以使用V1和V2c,更方便查看内容

V3做了认证,完整性校验,私密性加密


SNMP七中操作

image_1crtt0i8v1n2q1c13vd8p8i1glr15.png-194kB

manager发送get和set用UDP161端口(agent监听161) agent 发送trap用UDP162(manager监听162)

  1. GER REQUEST

2018-11-10_12-14-40.png-302.3kB

发送GET REQUEST这个OID给agent,然后会通过MIB库找到OID对象的结果回馈(GET RESPONSE)

image_1crttg1q31s9ohmnv5u1pse1eu22e.png-145.1kB

抓取的报文端口UDP161;类型get-request; 图的下方是OID值
  1. SET

image_1crttjhkfe2j66v1eag1jd41bf02r.png-290.9kB

图中的OID值关联的是主机名,在发送OID的时候还有一个字符串“R2”,也就是要将主机名给设置成R2。
然后会回复一个结果。

image_1crttmm41r5i1q6q3g112ju1uft38.png-183.4kB

set的抓包结果
  1. GER NEXT-REQUEST

image_1crttvjmqvm8rc1tie13gi6283l.png-430.3kB

MIB表是一个树状型的,比如你查找A这个数据,A节点下面可能会有A.1节点这个数据,A.1下面可能还会有A.1.1节点的数据,get next-request可以用来一个一个节点的的获取,直到没有为止。
不过这种方式操作包太多,效率不高且会造成网络负担。

image_1crtu9f7r1ei6u081tle1uhm1kbv42.png-154kB

image_1crtu9t5ptoj1eef1m11ndqnb24f.png-494.7kB

  1. GET BulkRequest

image_1crtud74obp8kqo1r681iqa7at4s.png-350.3kB

会将整个节点的所有数据获取到,比如去获取A节点的内容,那么A节点下面的所有子节点的数据内容也都会一起打包获取。

image_1crtuh4mkrca8pjc0dfa5fmu59.png-144.6kB

image_1crtuisus7v8lao1h4n1mircct5m.png-138.7kB

  1. GET RESPONSE

image_1crtukhdu13f7t951oau1akt1gf363.png-288.7kB

get、get-next、set这一类请求都会有response
  1. trap

    设备产生的信息发送给manager

  2. informRequest

    相当于trap的ack包,网络设备发送trap给manager后,manager回一个informRequest给agent表示我收到trap了。 如果agent没收到informRequest,会再次发送trap给manager。


Oidview

可以利用Oidview这个软件来查看OID对应的内容

image_1cru00c471bd31cio1ock1n8lgc26g.png-98.9kB