# simulators **Repository Path**: qinpluscom/simulators ## Basic Information - **Project Name**: simulators - **Description**: 含 操作系统模拟器、网络产品模拟器、中间件模拟器、数据库模拟器;用于即将推出的勤加EA(等保评测工具演示) - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://ea.qinplus.com - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-11-04 - **Last Updated**: 2026-11-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Simulators · IT 基础设施模拟器套件 一套面向教学、演示与实验的 IT 基础设施模拟器集合,覆盖**网络安全设备、操作系统、数据库、中间件**四个方向。所有模拟器均可离线运行,无需真实硬件或云资源。 ## 项目一览 | 模块 | 目录 | 技术栈 | 启动方式 | 访问入口 | |---|---|---|---|---| | 网络安全设备模拟器 | [`network-security-simulator/`](network-security-simulator/) | Node.js · Express 5 · ws · ssh2 | `start.bat`(管理员) | http://127.0.0.1:8123 | | 操作系统模拟器 | [`operating-system-simulator/`](operating-system-simulator/) | 原生 HTML / CSS / JS | 直接打开 `index.html` | 本地文件 | | 数据库模拟器 | [`database-simulator/`](database-simulator/) | 原生 HTML / CSS / JS(单文件) | 直接打开 `index.html` | 本地文件 | | 中间件模拟器 | [`middleware-simulator/`](middleware-simulator/) | Python · FastAPI · Uvicorn | `python app.py` | http://127.0.0.1:8899 | --- ## 网络安全设备模拟器 模拟一套 QinPlus 风格的企业边界安全实验拓扑,包含前置防火墙、核心路由器、接入交换机、边缘防火墙、办公终端、DMZ 服务器与互联网主机。 - 拓扑可视化:设备连线、接口状态、VLAN 划分 - 设备 CLI:防火墙策略、NAT、ACL、路由、交换机端口模式等命令仿真 - 真实 SSH:基于 `ssh2` 在绑定的 Loopback 虚拟 IP 上监听 22 端口,可用任意 SSH 客户端登录 - 流量追踪:按源/目的/协议/端口推演策略匹配结果 **环境要求**:Windows、Node.js、管理员权限(`start.bat` 会通过 `netsh` 把 11 个虚拟设备 IP 绑定到 Loopback 伪接口)。 ```powershell cd network-security-simulator npm install .\start.bat ``` 使用完毕后可运行 `cleanup.bat` 清理绑定的虚拟 IP。 --- ## 操作系统模拟器 模拟一个 10 节点的操作系统集群,网段 `10.0.10.0/24`,每台节点拥有独立 IP、主机名与登录凭据。 - 主流系统:Windows 11、macOS Sonoma、Ubuntu、Debian - 国产系统:银河麒麟、统信 UOS、中科方德、中标麒麟、openEuler、鸿蒙 HarmonyOS - 节点登录校验 → 进入对应风格的桌面环境(窗口、任务栏、应用) - 集群总览页展示节点状态、网络参数与在线情况 无需构建,直接用浏览器打开 [`operating-system-simulator/index.html`](operating-system-simulator/index.html)。 --- ## 数据库模拟器 面向数据库选型与运维入门的交互式实验室,覆盖三大协议家族共 **19** 种数据库。 | 家族 | 原生 | 国产 / 衍生 | |---|---|---| | MySQL 类 | MySQL、MariaDB | TiDB、OceanBase、PolarDB for MySQL、TDSQL、GoldenDB、GreatSQL、StarRocks | | Oracle 类 | Oracle Database | 达梦 DM8、神通数据库、崖山 YashanDB | | PostgreSQL 类 | PostgreSQL | 人大金仓 KingbaseES、openGauss、GaussDB、瀚高 HighGo、PolarDB for PostgreSQL | - 默认端口速查与家族筛选 - 模拟实例创建、启动、停止,自动避让端口冲突 - 连接信息一键复制(CLI / JDBC) - 方言感知 SQL 控制台:`SHOW DATABASES`、`\l`、`V$VERSION`、`DUAL` 等,并按方言返回真实报错(如 Oracle 不支持 `LIMIT`、PG 不支持反引号) - 实例与日志通过 `localStorage` 本地持久化 单文件实现,直接用浏览器打开 [`database-simulator/index.html`](database-simulator/index.html)。 --- ## 中间件模拟器 模拟一台 CentOS 7.9 单机(`192.168.10.10` / `mw-lab-01`)上部署的 **16** 个中间件组件: - 接入网关:Nginx - 应用服务器:Apache Tomcat、东方通 TongWeb - 缓存:Redis - 数据库:MySQL、PostgreSQL、MongoDB、达梦 DM8、人大金仓 KingbaseES - 消息队列:RabbitMQ、Apache Kafka、Apache ZooKeeper - 搜索与日志:Elasticsearch - 注册与配置:Nacos、Sentinel Dashboard - 对象存储:MinIO 功能包括组件启停、配置文件在线编辑与重置、日志查看、端口占用与冲突检测、终端命令模拟、部署方案与配置导出。后台每 0.5 秒推进一次模拟时钟。 **环境要求**:Python 3.10+ ```powershell cd middleware-simulator pip install fastapi uvicorn pydantic python app.py --port 8899 --no-browser ``` 启动后访问 http://127.0.0.1:8899 ,默认会自动打开浏览器。 --- ## 目录结构 ```text simulators/ ├── database-simulator/ │ └── index.html ├── middleware-simulator/ │ ├── app.py # FastAPI 入口与路由 │ ├── data/ # 初始状态快照 │ ├── sim/ # 模拟引擎、组件目录、终端 │ └── web/ # 前端控制台 ├── network-security-simulator/ │ ├── index.html │ ├── css/ js/ # 拓扑、CLI、引擎与 UI │ ├── server/index.js # Express + WebSocket + SSH 服务 │ ├── start.bat # 一键启动(管理员) │ └── cleanup.bat # 清理虚拟 IP ├── operating-system-simulator/ │ ├── index.html │ └── assets/ # 样式、桌面与系统数据 ├── LICENSE └── README.md ``` ## 说明 本项目仅用于学习、演示与技术验证,所有设备、系统、服务与数据均为模拟实现,**不可用于生产环境**。模拟器中的厂商名称与产品名称归各自权利人所有。 ## 许可 本项目基于 [MIT License](LICENSE) 开源。