外观主题
阅读语言

Neton —— 让 AI 看懂你的网络:本地网络观测与诊断(11 个 JSON 动作)

软件 本站软件 1天前 更新于 20小时前
https://yxp.hk/p/qy2leK

📦 开源仓库:yxpil/Neton

gh-card · yxpil/Neton

📦 仓库名片 · Powered by gh-card


Neton

面向 AI Agent 的本地网络观测与诊断工具:主机概览、网卡、监听端口、DNS、TCP 探活、HTTP 摘要,以及经授权的局域网发现(ARP 表、子网设备发现、端口扫描、单设备指纹)——全部 JSON in / JSON out,让智能体"看懂"网络状态而不是去解析人读的文本。Rust 单一静态二进制,跨平台。

11 个动作

观测类(8 个,不发送攻击流量、无需 root、不进混杂模式):

  • info — 主机名/系统/架构/默认出口 IP(UDP connect 探路由,不发任何数据包)
  • interfaces — 网卡名称、IPv4/IPv6、MAC、状态
  • ports — TCP 监听 + UDP 绑定套接字,含归属 pid 与进程名
  • dns — 解析查询,返回 IPv4/IPv6 数组与耗时
  • ping — TCP connect 探测(非 ICMP,无需 root),返回成功/耗时
  • probe — 并发批量 TCP 探活(默认并发 32)
  • http — 请求概要:状态码、耗时、响应头(敏感头脱敏为长度)、body 预览
  • arp — 系统 ARP/邻居表 + 内置 OUI 厂商库查询

扫描类(3 个,须显式授权):

  • netscan — 子网存活设备发现,与 ARP 表关联(默认端口 22,80,443,445,3389,8080,并发 128)
  • portscan — 单目标 TCP connect 端口扫描(common 40 个常用端口 / 列表 / 区间)
  • device — 单设备分析:MAC + 厂商、反向 DNS、开放端口、HTTP(S) 指纹与设备类型推测

授权门控与合规

  • 扫描类命令必须 --yes-i-have-permission(或 NETON_I_HAVE_PERMISSION=yes)确认授权,否则 CLI 退出码 2 / HTTP 403 双重拒绝;MCP 下拒绝信息以 isError 结果返回并注明解锁标志。
  • 子网规模上限 4096 主机 × 4096 端口,超限在发包前即拒绝;只做 TCP connect,无原始套接字、无 SYN 洪水。
  • 敏感响应头(set-cookie/authorization 等)只输出长度不回显;guess 仅为信息性推测。漏洞利用与渗透不在范围内——那是 Firelin 的职责。

接入 BIT 的四种方式

  1. CLI 工具(exec 运行时):BIT 起 neton 子进程、stdin 传 JSON 参数(stdin 优先)、stdout 读 JSON 结果;在工具页注册 runtime 即可。
  2. Remote 工具:neton serve 提供 BIT Remote 协议 HTTP API(POST /invoke)。
  3. MCP 客户端:neton serve 同时是完整 MCP 服务器,BIT 的 MCP 服务器页添加 http://127.0.0.1:8753/mcp 即可,11 个动作以同名工具暴露。
  4. 纯 HTTP API:GET /health、GET /invoke-actions、POST /invoke;--token 可选 Bearer 鉴权。

智能体问答示例

用户:8080 端口被谁占了?
智能体:(调用 neton ports) [{"proto":"tcp","local_addr":"0.0.0.0:8080","pid":48211,"process":"node","state":"Listen"}] 是 node 进程(pid 48211)在监听。

安装

从 Releases 下载二进制,或 cargo install --git https://github.com/yxpil/Neton。

许可

Apache-2.0

🛠 技术栈与开发

  • 开发语言:Rust 100% —— 单一静态二进制;观测类命令零 root、零混杂模式、零攻击流量
  • 实现亮点:内置 OUI 厂商库做 MAC 归属识别;TCP connect 探测替代 ICMP(免特权);并发线程池(netscan 128 / probe 32);敏感响应头(set-cookie / authorization 等)只回显长度
  • 接入面:JSON in / JSON out(--pretty 可选);stdin 管道 JSON 合并(BIT exec 契约,stdin 优先);serve 同时提供 BIT Remote 协议与 MCP(默认 127.0.0.1:8753)
  • 合规边界:扫描类须 --yes-i-have-permission(CLI 退出码 2 / HTTP 403 双重拒绝);子网上限 4096 主机 × 4096 端口,超限发包前即拒绝;只做 TCP connect,无原始套接字

📚 文档与链接

  • 仓库:https://github.com/yxpil/Neton · Releases 预编译包或 cargo install --git https://github.com/yxpil/Neton
  • neton serve 端点:GET /health · GET /invoke-actions · POST /invoke · POST /mcp