[node]nodejs snmp测试

nodejs原生支持异步事件,语法简单,解释执行,可以替代perl来做日常运维吗?

升级node最新版本。
安装python.
安装snmpjs
npm install xxx -g 是全局安装,否则是安装在当前目录

  1. D:\fk\work\node\snmp
  2. `-- [email protected]
  3. +-- [email protected]
  4. +-- [email protected]
  5. | `-- mv@0.0.5
  6. +-- dtrace-provider@0.4.0
  7. | `-- [email protected]
  8. `-- jison@0.3.12
  9. +-- JSONSelect@0.4.0
  10. +-- nomnom@0.4.3
  11. | `-- [email protected]
  12. `-- reflect@0.0.7
  13. npm WARN enoent ENOENT: no such file or directory, open 'D:\fk\work\node\snmp\pa
  14. ckage.json'
  15. npm WARN snmp No description
  16. npm WARN snmp No repository field.
  17. npm WARN snmp No README data
  18. npm WARN snmp No license field.
  19. D:\fk\work\node\snmp>npm list snmpjs
  20. D:\fk\work\node\snmp
  21. `-- [email protected]

测试,折腾了一下,有点结果了。不过nodejs的坑多,真是名不虚传。
先看get。 unref()方法废弃了?

  1. D:\fk\work\node\snmp\node_modules\snmpjs>node snmpget.js 192.168.6.64 public .1.
  2. 3.6.1.2.1.1.5.0
  3. 1.3.6.1.2.1.1.5.0 = ceshi64
  4. D:\fk\work\node\snmp\node_modules\snmpjs\snmpget.js:27
  5. client.unref();
  6. ^
  7. TypeError: client.unref is not a function
  8. at Object.<anonymous> (D:\fk\work\node\snmp\node_modules\snmpjs\snmpget.js:2
  9. 7:9)
  10. at Client._process_msg (D:\fk\work\node\snmp\node_modules\snmpjs\lib\client.
  11. js:66:38)
  12. at Client._recv (D:\fk\work\node\snmp\node_modules\snmpjs\lib\receiver.js:56
  13. :7)
  14. at Socket._recv_binder (D:\fk\work\node\snmp\node_modules\snmpjs\lib\receive
  15. r.js:77:8)
  16. at emitTwo (events.js:106:13)
  17. at Socket.emit (events.js:191:7)
  18. at UDP.onMessage (dgram.js:532:8)
再看walk, 这不对啊。

  1. D:\fk\work\node\snmp\node_modules\snmpjs>node snmpwalk.js 192.168.6.64 public
  2. .3.6.1.2.1.1.1
  3. 1.3.6.1.2.1.1.1.0 = SunOS ceshi64 5.10 Generic_118833-33 sun4u
  4. 1.3.6.1.2.1.1.2.0 = 1.3.6.1.4.1.8072.3.2.3
  5. 1.3.6.1.2.1.1.3.0 = 412083868
  6. 1.3.6.1.2.1.1.4.0 = "System administrator"
  7. 1.3.6.1.2.1.1.5.0 = ceshi64
  8. 1.3.6.1.2.1.1.6.0 = "System administrators office"
  9. 1.3.6.1.2.1.1.7.0 = 72
  10. 1.3.6.1.2.1.1.8.0 = 18
  11. 1.3.6.1.2.1.1.9.1.2.1 = 1.3.6.1.2.1.31
  12. 1.3.6.1.2.1.1.9.1.2.2 = 1.3.6.1.6.3.1
  13. 1.3.6.1.2.1.1.9.1.2.3 = 1.3.6.1.2.1.49
  14. 1.3.6.1.2.1.1.9.1.2.4 = 1.3.6.1.2.1.4
  15. 1.3.6.1.2.1.1.9.1.2.5 = 1.3.6.1.2.1.50
  16. 1.3.6.1.2.1.1.9.1.2.6 = 1.3.6.1.6.3.16.2.2.1
  17. 1.3.6.1.2.1.1.9.1.2.7 = 1.3.6.1.6.3.10.3.1.1
  18. 1.3.6.1.2.1.1.9.1.2.8 = 1.3.6.1.6.3.11.3.1.1
  19. 1.3.6.1.2.1.1.9.1.2.9 = 1.3.6.1.6.3.15.2.1.1
结论: 可以用,不过目前还是半成品。等着踩坑吧。
   不支持v3,所以暂时先不考虑。

 

你可能感兴趣的:(nodejs)