Code Monkey home page Code Monkey logo

python-snmp-lldp-sqlite3-vis.js-topology's Introduction

Python-SNMP-LLDP-SQLite3-vis.js-topology

Python-SNMP-LLDP-SQLite3-vis.js-topology

这个Python脚本主要用于通过SNMP协议发现网络设备并获取LLDP(链路层发现协议)信息,然后将这些信息整理并生成用于创建网络拓扑图的JavaScript文件(nodes.js和edges.js)。以下是代码的主要功能和结构:

SNMP Walk 函数 (snmp_walk):

使用 pysnmp 库执行SNMP Walk,查询指定的OID(对象标识符)并从网络设备中获取信息。 数据库操作:

创建一个SQLite内存数据库(con = sqlite3.connect(':memory:'))用于存储LLDP相关信息。 创建表格(lldpLocSysName、lldpLocPortId、lldpRemPortId)用于存储本地系统名称、本地端口ID和远程端口ID。 设备发现和LLDP信息获取:

从文件中读取有关交换机的信息(社区字符串、SNMP端口、IP)。 对于每个交换机,执行SNMP Walk以收集LLDP相关信息(本地系统名称、本地端口ID、远程系统名称、远程端口ID)。 使用获取的LLDP信息填充SQLite表格。 拓扑数据生成:

生成用于使用vis.js库创建网络拓扑图的节点(nodes.js)和边缘(edges.js)。 节点表示设备,边缘表示设备之间的连接。 输出:

打印每个交换机的LLDP信息。 将生成的节点和边缘数据写入JavaScript文件(nodes.js和edges.js)。

——————————————————————————————————————————————————————————————— 从文件中读取有关交换机的信息,该文件的格式是: community_string1, snmp_port1, ip1 community_string2, snmp_port2, ip2 community_string3, snmp_port3, ip3

其中每一行包含一个交换机的信息,包括社区字符串、SNMP端口和IP地址。您可以通过命令行参数来指定包含此信息的文件。在脚本中,使用了 -f 或 --file 参数: python script.py -f switches.txt

python-snmp-lldp-sqlite3-vis.js-topology's People

Contributors

allwaysoft avatar tongtong-bob avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.