kismetwireless 20小时前 · 2026-09-17 22:22:33 · 3 阅读
Kismet 发布 2025 年 9 月版本 202509R1
距离完整版本发布已经太久,积压了太多改进与修复,是时候宣布新发布了——先修复新引入的 bug,再继续推进新特性和改进工作。
主要变更 #
- UI 引入新的表格渲染库,分页、尺寸调整和显示更可靠;主显示面板可直接添加、删除、调整及重排列。整体效率大幅提升,原先偶尔出现的异常尺寸行为也得到修复。
- 所有数据源移除 Python 依赖。Python 不断调整 asyncio 语法并引入其他破坏性小改动,使得非
pip环境下打包 Python 工具麻烦不少;RTLSDR 等类似数据源已用纯 C 重写。 - 全新数据源/IPC 协议,取代原有的 protobufs 协议,去掉另一项复杂库依赖,同时提升速度。
- 大量优化以降低 RAM 和 CPU 占用,尤其在最高频的报文处理路径上效果明显。
升级 #
升级方式与其他版本一致——记得安装数据源工具;make install、Kismet 官方站点安装包以及主流发行版打包通常都会自动处理。
新写的纯 C 数据源将替代旧版 Python 版本。若为手动安装,需移除旧数据源;若通过 Kismet 官方站点安装包部署,新版 _v2 包会自动标记原版本为不兼容并安排卸载,但若旧包仍在系统中,仍需手动移除。
远程数据源建议与 Kismet 同时升级,以获得最佳功能与兼容性。
只要 Kismet 编译时启用了 protobufs 支持,旧版远程采集源仍可正常工作。Kismet 官方站点发布的包默认链接 protobufs,但部分发行版可能直接弃用——为最大化兼容性,建议同步升级远程数据源;新协议在效率上的提升本身就值得。
新特性 #
- 引入新的 UI 列表库 Tabulator,替代 jQuery Datatables,修复了大量在 Datatables 中无法解决的怪异显示问题,支持动态添加和定位列,显示更流畅且行高更可预测。
- ADSB 解析移至 Kismet 服务器端,不再由数据源负责。
- 新增基于 Wi-Fi 的无人机指纹识别。
- 在 Kismet PEN 下添加 Pcap-NG UTF-8 JSON 属性。
- 新增盖革计数器支持:通过 USB 支持 Radiacode,通过 Arduino 串口支持 Radview。
- 新增 AntSDR DJI DroneID 数据源。
- UI 中增加设备类型图标。
- 用 C 语言重新实现 RTLADSB 和 RTL433 数据源,消除对 Python 的依赖,以应对 Python 3.x 系列中多次不兼容的版本变更。
- 弃用 RTLAMR 数据源,现可通过将 RTL433 调至 915MHz 来处理。
- 扩展 AP 名称解析,支持 HP/Aruba、Mist、Ruckus、Aerohive/Extreme、Fortinet 的 IE 标签。
- 为数据源命令行添加 –version 参数,以识别已安装的辅助程序。
- 在数据源探测报告中添加版本信息,以识别本地数据源二进制文件的版本。
- 为远程数据源添加版本和远程连接类型,以辅助识别远程连接。
- Google Protobufs 变为可选,仅用于现已成为遗留协议的 V2 数据源协议。Protobufs 在打包和链接方面问题日益增多,且与纯 C protobufs 库引入了不兼容性。
- 开始弃用 V2 数据源/IPC 协议;保留兼容性以防止与旧版远程数据源不同步,但所有安装都应升级至当前的远程和本地数据源,其效率有显著提升。
- 新的 V3 IPC 协议基于 msgpack,采用更智能的内联解码以减少内存拷贝开销。使用捆绑的 msgpack 库构建,消除对 protobufs 的依赖。
- SSIDCANARY 警报,用于发现特定网络。
速度与 RAM 改进 #
- 更快的内部 map 用于存储数据(ankerl::unordered_dense)。
- 字符串缓存以减少 RAM 使用。
- 重写数据包时间比较逻辑,移除每个数据包的一次函数调用。
- 重写 pcap-ng 内部过滤器和组件选择器,改为编译期 functor,消除每个数据包的一次函数间接调用。
- 重写 JSON 名称转换,改为编译期 functor 以提升速度。
大批 bug 修复 #
本次的 bug 修复和小改进包括(但不限于):
- C++20 编译修复
- WiFi Coconut 编译修复
- 信道更新与显示的改进
- 支持更多新版 WPA3 模式,并缓存加密字符串
- 新增 IE 35 advertised power 标签处理
- 为 NRF 嗅探器添加 udev 规则
- 支持在 Linux 上不依赖 wext(仅用 mac80211)构建
- 修复 OpenBSD 上的构建问题
- 修复部分字符串字段中的字符串搜索
- 修复 TPMS 胎压显示
- 重写 ADSB 显示插件,改为动态加载并减少各种奇怪的怪癖
- 更新 font-awesome
- 为 IPC 环形缓冲区添加字节搜索功能
- 重写 datasource 抓包框架的信号屏蔽与处理
- 重写 datasource 抓包框架对子进程的监控与终止逻辑
- 新增在 UI 中隐藏 phy 处理器的功能,避免没有用户界面组件的类 phy 处理器把界面弄得杂乱
- 优化 Wi-Fi 源设备的信道分配,以兼容非无线设备
- 更新 JQuery
- 更新内置 Boost 库
- 更新内置 libfmt 库
- 扩展时序 RRD 数据的功能
- 修复 Zigbee 802.15.4tap 头部生成问题
- 由于 protobuf-c 与最新 Google Protobufs 版本不兼容,现在针对旧版 protobuf 代码包含预编译的 protobuf-c
- 修复未使用 entrytracker 生成函数的子跟踪组件创建问题
- 修复 UAV 位置处理程序清除全局最后已知位置记录的问题
- 升级 Kaitai 运行时
- 重构 UI 中坐标的显示方式
- 在偏好设置中新增阶梯图显示选项
- 修复时序 RRD 中缺失的数据填充函数
- 清理 GPSd 在特定异常情况下数据解析的问题
- 在数据源采集框架中正确关闭套接字
- 修复数据源采集框架中 FD_CLOEXEC 和 FD_SET 的问题
- 重构数据源采集框架中 exec 后的 IPC 描述符及 stderr/out 映射
- 修复数据源采集框架中 IPC 处理已关闭的 exec 管道的问题
- 新增 –enable-homebrew 标志,简化 macOS 上的构建过程
- 扩展 rtlsdr C 集成,允许使用 bias-t API
- 修复 LinuxHCI 蓝牙数据源中的 GPS 注入问题
- 重构可打印字符处理和内存缓冲区以支持 const 内存
- 修复 PCRE2 匹配结果处理不当的问题,该问题影响了正则端点、警报及其他功能
- 更优雅地处理 gcc13/14 的警告
- 在 C++20 编译器下处理 libfmt 的异常及其他属性
- 修复信号监视窗口中的名称屏蔽问题
- 替换不可靠的 rtlsdr 按序列号查找功能
- 从 autoconf 中移除某些 bash 专属语法
- 修复过滤器合并逻辑
- 在 /devices/last-time 端点中添加缺失的正则表达式
- 为 websocket 订阅添加 JSON 格式选项
- 清理 linuxwifi 中的信道列表处理
- 在 linuxwifi 探测过程中更早失败
- 改进 GPSd 处理程序
- 移除信道子面板扩展器,因其行为异常且导致故障
- 修复 UI 关闭面板窗口时的竞态条件
- 修复 Web UI 中某些标签闭合问题,这些问题会导致部分浏览器报错
- 默认禁用断开连接/去认证代码警报,因为更多 AP 会以不相关方式使用任意错误代码
- 修复 802.15.4 解码中因空指针引发的崩溃问题
- 修正 wiglecsv 工具中关于错误的描述措辞
- 重写 OUI 和 ICAO 生成脚本
- 修复配置为极端测量的时间序列 RRD,确保在所有情况下使用极值而非平均值
- 保护 entrytracker 的创建过程,防止在部分创建模式中出现线程间的死锁或数据损坏
- 修复时间序列 RRD 问题,解决内存面板中设备数量波动(wobble)的现象
- 消除部分日志路径中不必要的线程创建
- 修复多个 JavaScript 错误
- 修复 databaselog 未正确遵循 kis_log_data_packets 配置的问题
- 清理代码中的尾部空白字符(仅外观调整,无功能差异)
- 将 UI 中的数据源列表按字母顺序排列
下载 #
您可以从 Kismet 下载页面获取 2025-09-R1 版本,该页面提供源代码及多个发行版的软件包。
打包 #
如果您希望打包 Kismet,请参阅 打包指南。对于本版本,建议维护者继续打包 protobufs 和 v2 协议,以简化升级过程,并计划在下一个版本中完全弃用它们。
致谢 #
一如既往地,向所有 Github Sponsors 支持者致以衷心的感谢!
原始来源: kismetwireless