NetSentinel:局域网诊断瑞士军刀

NetSentinel 是一个开源的局域网诊断桌面应用,用 Python 写了约 13.6 万行代码,内置 62 个工具,覆盖设备发现、网络监控、故障诊断、安全审计、自动化和教育六大模块。所有数据在本地处理,不需要账号,不传遥测,MIT 协议。

它的定位很明确:替代 Nmap(设备发现/端口扫描)、Wireshark(广播风暴/ARP 监控)、PingPlotter(稳定性日志/断网证据)、Wi-Fi 分析器,以及手动拼凑 ISP 投诉材料的繁琐过程。

核心功能

设备发现

扫描局域网内所有设备,显示 IP、MAC、主机名、厂商、型号和风险等级。支持 ARP + ICMP + TCP SYN + mDNS 并行扫描。还能生成网络拓扑图,扫描 Wi-Fi(隐藏 SSID、 rogue AP、WPS 开启的网络)。

网络监控

  • 实时带宽图表(上传/下载)
  • 设备在线率历史(1h/12h/24h/7d)
  • 后台稳定性记录器:持续 ping/RTT/抖动/DNS 日志,导出 CSV 作为断网证据
  • 每设备流量统计(需要 Npcap/libpcap)
  • IoT 设备行为基线:学习正常流量模式,异常时告警

故障诊断

  • “What’s Wrong?” 一键排查:自动跑 DNS、风暴、STP、ISP 检查,按可能性排序
  • 根因关联器:逐跳 ping 链,定位丢包从哪一跳开始,给出结论(是你路由器还是 ISP 的问题)
  • 服务诊断:对任意主机做 DNS/TCP/HTTPS/ICMP/traceroute 探测,分类故障层级
  • DNS 基准测试:对比系统 DNS 和 Cloudflare/Google/Quad9,含 DNS 泄漏测试
  • 测速:三级引擎(Ookla CLI → speedtest-cli → 纯 Python 兜底)

安全审计

  • SYN 半开端口扫描
  • OS 指纹识别
  • CVE 查询:关联 NVD 数据库
  • TLS 证书监控:每小时检查,30 天到期预警
  • 凭据测试:检查 SSH/SMB/FTP/Telnet 弱口令
  • ARP 欺骗监控:实时检测 IP-MAC 冲突
  • 恶意 DHCP 服务器检测

二层网络检测

  • STP 根桥检测:捕获 BPDU,识别哪个设备抢了根桥角色(常见于 Google Nest 等设备导致每 30-45 秒断网)
  • 广播风暴检测:测量洪泛级别,定位源设备

自动化与集成

  • 只读 REST API(127.0.0.1:8765)
  • MQTT / Home Assistant 集成
  • Shell hooks:设备离线、高 RTT、新设备上线时触发命令
  • 内置 10 个硬件插件:TP-Link Deco、UniFi、FRITZ!Box、MikroTik、OpenWrt、Netgear、ASUS、Synology 等

ISP 投诉报告

这是 NetSentinel 比较实用的功能。网络不稳定时,ISP 客服通常让你"重启路由器试试"。NetSentinel 的 ISP Accountability Report 会生成一个独立 HTML 文件,包含:

  • 逐跳 traceroute 表
  • 各跳丢包率
  • DNS 延迟
  • 带时间戳的断网日志

直接发给客服,有据可查。

安装

Windows

winget install NetSentinel.NetSentinel

或从 GitHub Releases 下载安装包,也可在 Microsoft Store 搜索安装。

macOS / Linux

git clone https://github.com/ossianericson/netsentinel
cd netsentinel
pip install -r requirements.txt
sudo python app.py

二层功能(STP 检测、ARP 监控、广播风暴分析)需要安装 Npcap(Windows)或 libpcap(macOS/Linux)。

适用场景

  • 家里网络频繁断连,怀疑是某个 IoT 设备搞鬼
  • 需要向 ISP 证明断网不是你的问题
  • 想看清局域网里到底有哪些设备
  • 安全审计:端口暴露、弱口令、ARP 欺骗检测
  • 网络学习:每个功能都对应 CompTIA Network+ / CCNA 课程中的协议