Skip to content

io-ing/lab_device_manager

Repository files navigation

测试设备管理系统

基于 Django 的网络设备监控和发现系统,通过交换机 ARP snooping 和 SIP 协议自动发现和监控连接到实验室的网络设备。

系统特性

  • 自动设备发现:通过交换机ARP snooping获取基础网络信息
  • 设备信息展示:获取并显示设备型号、版本等详细信息
  • 可视化界面:提供Web界面显示设备列表和机架布局
  • 多交换机支持:同时监控多台交换机,自动过滤级联连接

技术栈

  • 后端:Django 4.2.26
  • Python版本:Python 3.10.18
  • 数据库:MySQL
  • 网络协议:SSH、ARP Snooping、SIP

核心功能

设备信息获取

  • 通过SSH连接交换机获取ARP信息
  • 解析设备 IP、MAC、VLAN、接口等基础信息
  • 通过 SIP NOTIFY 请求获取设备型号和版本信息
  • 自动过滤交换机间级联连接

Web界面

  • 按交换机分组显示设备列表
  • 可视化机架布局展示
  • 设备状态实时监控

快速开始

环境要求

  • Python 3.10.18+
  • Django 4.2.26
  • MySQL 8.0+

安装步骤

  1. 安装依赖

    pip install -r requirements.txt
  2. 修改配置文件

    cp .env.example .env
    nano .env
  3. 运行迁移

    python manage.py makemigrations
    python manage.py migrate
  4. 创建管理员

    python manage.py createsuperuser
  5. 启动开发服务器

    python manage.py runserver
  6. 在管理界面添加交换机数据

管理命令

设备信息更新

# 更新设备基础信息
python manage.py update_devices

配置说明

交换机配置

  • 交换机需要启用 ARP snooping 功能
  • 账户需要有 SSH 访问权限
  • 设置级联端口以过滤交换机间连接

环境变量

# 数据库配置
DB_NAME=lab_device_manager
DB_USER=your_username
DB_PASSWORD=your_password
DB_HOST=localhost
DB_PORT=3306

# Django配置
SECRET_KEY=your-secret-key
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,localhost

# 机架配置
RACK_COUNT=4
RACK_ROWS=7
RACK_COLUMNS=10

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors