21 กุมภาพันธ์ 2558

Published กุมภาพันธ์ 21, 2558 by with 0 comment

SNMP ใน Python

SNMP ย่อมาจาก Simple Network Management Protocol เป็นโปรโตคอล (Protocol) ถูกออกแบบให้ทำงานง่าย ๆ และมีฟังก์ชัน โดยจุดประสงค์หลักของโปรโตคอล SNMP คือ เพื่อให้ผู้ดูแลระบบเครือข่ายสามารถจัดการอุปกรณ์ในเครือข่ายจากระยะไกลได้ และยังสามารถมอนิเตอร์ระบบเครือข่ายได้ด้วยฟังก์ชัน RMON
อ่านเพิ่มเติมได้ที่ https://sites.google.com/site/snmphorus/ สำหรับในภาษา Python มีไลบรารีสำหรับโปรโตคอล SNMP นี้อีกด้วยครับ ชื่อว่า pysnmp

  • รองรับโปรโตคอล SNMP v1/v2c/v3 ใน IPv4/IPv6 และระบบเครือข่ายอื่น ๆ

  • License: BSD

  • รองรับทั้ง Python 2 และ Python 3

สามารถติดตั้งได้โดยใช้คำสั่ง pip:
pip install pysnmp

ด้วยคำสั่ง easy_install:
easy_install pysnmp

หรือโหลดโค้ดมาติดตั้งเองจาก https://pypi.python.org/pypi/pysnmp/ แตกไฟล์ tar.gz แล้วเปิดคอมมานด์ไลน์ใช้คำสั่ง
python install setup.py

ตัวอย่าง
from pysnmp.entity.rfc3413.oneliner import cmdgen
errorIndication, errorStatus, errorIndex, varBinds = cmdgen.CommandGenerator().getCmd(
cmdgen.CommunityData('my-agent', 'public', 0),
cmdgen.UdpTransportTarget(('xxx.xx.xxx.xx', 161)),
(1,3,6,1,2,1,1,1,0)
)
print(errorIndex)
print(varBinds)


อ่านเอกสารการใช้งานได้จาก http://pysnmp.sourceforge.net/docs/4.x/index.html และ http://gzsl.lzu.edu.cn/pysnmp/pysnmp-tutorial.html นอกจาก pysnmp แล้วยังมี pysnmp-apps สำหรับใช้จัดการ SNMP บนคอมมานด์ไลน์ด้วยภาษา Python ครับ https://pypi.python.org/pypi/pysnmp-apps/ ติดตามบทความต่อไปนะครับ ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)