Scanopy 服务定义完全手册:轻松添加200+服务类型
Scanopy 服务定义完全手册轻松添加200服务类型【免费下载链接】scanopyNetwork diagrams that update themselves项目地址: https://gitcode.com/gh_mirrors/ne/scanopyScanopy 是一款能自己更新的开源网络拓扑工具而让它真正聪明的正是内置的200 服务定义Service Definitions。网络扫描器跑完一遍之后Scanopy 能自动认出你的网段里藏着 Postgres、Grafana、Home Assistant 还是 UniFi 交换机——这一切都靠一个个小巧的服务定义驱动。无论你是想搞懂它如何识别服务还是想亲手添加第一个新服务这份手册都能帮你在 10 分钟内上手。服务定义是什么为什么重要一次网络扫描只会得到一堆某 IP 的某端口开着这样的原始信息。把原始信息变成这是一台 Elasticsearch靠的就是服务定义每份定义告诉 Scanopy 三件事它叫什么名称、描述、图标它属于哪类监控、数据库、媒体服务器、虚拟化……决定它在拓扑图里怎么分组怎么认出它一组发现模式端口、HTTP 端点内容、MAC 厂商等。定义命中之后服务会自动挂到对应主机上进入你看到的四种视图。下图就是扫描结果生成的工作负载视图每一个带图标的方块都是被服务定义成功识别出来的内置 272 份服务定义覆盖几乎所有场景所有定义集中存放在 backend/src/server/services/definitions/ 目录目前包含272 个服务定义文件从网络基础设施到智能家居一应俱全类别你会遇到的服务定义文件示例监控与日志Prometheus、Grafana、Zabbix、Lokiprometheus.rs数据库MySQL、PostgreSQL、Redis、MongoDBpostgresql.rs媒体服务器Plex、Jellyfin、Emby、Sonarrplex.rs虚拟化与容器Proxmox、ESXi、Kubernetes、Dockerkubernetes.rs家庭自动化Home Assistant、OpenHAB、Zigbee2MQTThome_assistant.rsIoT 与终端摄像头、智能音箱、打印机、工业 PLCcamera.rs完整分类可以在 mod.rs 中按章节浏览——文件本身就是最好的目录。自动识别是怎么做到的读懂发现模式每份定义的核心是discovery_pattern()它描述满足什么条件就认为是这个服务。常见模式有这几类完整说明见 contributing.md端点模式Endpoint⭐ 首选访问某个 HTTP 路径检查响应里是否出现服务名。信号最强、误报最少比如 Plex 定义就是查32400端口/web/index.html里是否包含 Plex 字样见 plex.rs端口模式Port只认固定端口适合没有可探测端点的服务如 Redis 认 6379逻辑组合AnyOf / AllOf / Not多个条件或/且/非组合能显著提升准确性特殊模式IsGateway是网关、MacVendorMAC 地址厂商如 Eero、SubnetIsType子网类型、None仅手动识别。 一个实用技巧想知道某个服务的识别逻辑直接查 ui/static/services.json——所有 268 个定义都以人类可读的语言导出了发现模式例如 Sonarr 的描述就是响应体包含 Sonarr 字样的 8989 端口请求即命中。后端则通过 ServiceDefinitionRegistry 统一注册和查找这些定义扫描时逐条比对、命中即识别。三步添加一个新服务定义添加服务定义是 Scanopy 官方推荐的首个贡献不需要深入理解整个代码库。第 1 步新建定义文件在 definitions/ 下创建your_service.rs核心就是实现ServiceDefinitiontraitfn discovery_pattern(self) - Pattern_ { Pattern::Endpoint( PortBase::HttpAlt, // 服务监听的端口 /api/health, // 探测路径 your_service_name // 响应中需包含的关键词 ) }同时声明名称、描述和所属类别。类别清单定义在 categories.rs从Monitoring、Database到IoT、Industrial共 40 余种选最贴近的一个即可。第 2 步在注册表中登记在 mod.rs 对应分类下加一行pub mod your_service;文件末尾加上inventory::submit!注册宏——服务即可被自动发现无需改动任何扫描器代码。第 3 步本地验证用make dev-server启动后端确认编译通过如果网络里真实运行着该服务跑一次发现扫描确认它被正确识别、图标正常显示然后按 contributing.md 的 PR 模板提交一次 PR 只加一个服务。写在最后服务定义看似只是认名字却是 Scanopy 从端口扫描工具进化为活的网络文档的关键——272 份定义覆盖了从工业 PLC 到智能音箱的广阔世界而它依然欢迎社区补充每添加一个定义所有用户的下一次扫描都会变得更聪明一点。如果你的网段里总有一台设备显示为未知服务去 contributing.md 看看为它写一份定义就是最简单的开源参与方式。【免费下载链接】scanopyNetwork diagrams that update themselves项目地址: https://gitcode.com/gh_mirrors/ne/scanopy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

HarmonyOS 7 AI图像超分:分块推理调度与结果缓存落盘【鸿蒙心迹】

HarmonyOS 7 AI图像超分:分块推理调度与结果缓存落盘【鸿蒙心迹】

把一张 1120 1584 的海报放大到 2240 3168,最开始我只想做一个“选择图片、处理、保存”的小工具。真正把页面做成任务型应用后,问题立刻从“算法能不能返回一张清晰图”变成了“用户如何知道它还活着”。尤其在端侧推理耗时不固定、预览图需要先显示、…

2026/10/9 17:05:37 阅读更多 →
超融合HCI与VSAN实战:从架构设计到性能调优的运维笔记

超融合HCI与VSAN实战:从架构设计到性能调优的运维笔记

1. 从一台物理服务器到资源池:超融合到底在解决什么问题第一次接触超融合这个概念,是在一个只有三台物理服务器的机房里。当时业务方要求把一批测试环境从老旧的独立服务器上迁移出来,预算有限,不可能去买一套传统集中式存储加光纤…

2026/10/9 17:04:36 阅读更多 →
矩阵运算从入门到实战:核心原理、代码实现与避坑指南

矩阵运算从入门到实战:核心原理、代码实现与避坑指南

1. 为什么矩阵运算值得单独拎出来讲很多人第一次接触线性代数,都是在课堂上被一堆行列式、逆矩阵、秩的定义砸晕的。公式背了一堆,考试也能过,但一到实际用的时候——比如写代码做图像变换、跑一个最小二乘拟合、或者看机器学习里的反向传播推…

2026/10/9 17:04:36 阅读更多 →

最新新闻

再见Fable 5,OpenAI出手了!GPT-5.6真香~用TaoToken统一Key跑Codex agent

再见Fable 5,OpenAI出手了!GPT-5.6真香~用TaoToken统一Key跑Codex agent

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 17:36:51 阅读更多 →
别再只把OpenClaw当AI智能体了,它本质是一场百万开发者的社会实验:从私有化部署到低代码的AI民主化路径

别再只把OpenClaw当AI智能体了,它本质是一场百万开发者的社会实验:从私有化部署到低代码的AI民主化路径

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 17:36:51 阅读更多 →
政安晨【OpenClaw与Hermes指南】ultraworkers/claw-code 爆火背后:AI Coding Agent 的 TaoToken 统一 Key 接入实践

政安晨【OpenClaw与Hermes指南】ultraworkers/claw-code 爆火背后:AI Coding Agent 的 TaoToken 统一 Key 接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 17:36:51 阅读更多 →
Codex CLI日志Bug完整复盘:640TB/年的SSD杀手,三种修复方案自查指南

Codex CLI日志Bug完整复盘:640TB/年的SSD杀手,三种修复方案自查指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 17:36:51 阅读更多 →
OpenClaw 云端部署与运维实战:用 TaoToken 统一 Key 打通容器化到高可用监控体系

OpenClaw 云端部署与运维实战:用 TaoToken 统一 Key 打通容器化到高可用监控体系

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 17:36:51 阅读更多 →
Canvas动态心电图实战:滚动波形绘制与性能优化

Canvas动态心电图实战:滚动波形绘制与性能优化

简介:这份资源面向前端开发者与医疗健康类应用开发者,聚焦HTML5 Canvas在实时生理数据可视化中的落地实践,解决浏览器端动态绘制心电图、模拟监护仪效果的问题。包内共7个文件,以js脚本、html页面、css样式为主,辅以tx…

2026/10/9 17:35:49 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →