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 课程中的协议