Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PacketLens

看网卡流量,选抓包入口,从异常定位到原始报文。

面向 Windows 的本地网络抓包与故障分析桌面工具。

Release Windows License: MIT Windows tests

下载安装包 · 使用说明 · 更新记录 · 反馈问题

PacketLens 分析概览:统计、诊断线索与流量时间线

截图来自内置合成抓包,展示真实解析结果。

可以做什么

场景 功能
不确定该抓哪张网卡 每秒显示收发速率、连接状态与相对流量条,点击网卡名称选择
需要现场取证 本地网卡抓包、BPF 过滤、时长/大小限制,停止后自动分析
已有 Wireshark 抓包 拖入 PCAP、PCAPNG 或其他 TShark 支持的格式
排查重传、延迟或连接失败 21 类诊断规则,关联会话与具体报文
掌握流量构成与速率 各类包数量、每秒包数(PPS)、突发时间片与包类型下钻
处理大文件 SQLite 磁盘索引、分页查询,默认单文件 10 GB,可配置
查看证据与分享结论 协议字段、原始十六进制、原始 PCAPNG 下载、JSON 报告

所有抓包和分析均在本机进行。程序只监听本机回环地址,运行时不依赖云端分析服务。

下载与安装

  1. 从 Releases 下载 PacketLens-0.2.4-Setup-x64.exe。
  2. 打开中文安装向导,选择安装位置和安装范围;完成后从桌面或开始菜单启动。
  3. 离线分析可直接使用;需要网卡抓包时,另行安装 Npcap。

安装包内置 Electron、Python、TShark 和 dumpcap,无需自行安装 Python、Node.js 或 Wireshark。当前提供 Windows x64 EXE 安装包,非 MSI;安装后直接从安装目录启动,不重复解压。发行包尚未进行数字签名。

原始抓包保存于 %LOCALAPPDATA%\PacketLens\captures,关闭程序和卸载均保留。安装包 SHA-256 校验文件与源码附件见同一 Release。

快速体验

打开软件后点击 “打开诊断样例”,即可体验分析工作流,无需先抓取真实流量。

  • 文件分析:拖入抓包 → 查看分析概览 → 点击诊断线索 → 下钻会话或报文。
  • 网卡抓包:点击“网卡抓包” → 观察收发速率 → 选择网卡 → 设置 BPF 和限制 → 开始 → 停止并分析。
  • 报文证据:按 IP、端口、协议、域名或关键词搜索,打开报文查看协议树和原始字节。

PacketLens 报文浏览与协议筛选

诊断覆盖

分类 线索
TCP 连接与传输 重传、重复 ACK、乱序、捕获缺段、RST、未观察到完整握手
流量控制与延迟 零窗口、窗口满、ACK RTT 偏高、RTT P95、会话平均 RTT
应用与名称解析 DNS 错误/慢响应、可见 HTTP 4xx/5xx 与慢响应、可见 TLS 告警
网络层与探测 ICMP/ICMPv6 错误、Packet Too Big、TCP 多端口 SYN 探测线索
流量速率与包类型 每秒报文数突增、ARP 占比异常、SYN 与 SYN-ACK 严重失衡、ICMP 流量占比异常、广播报文泛滥

规则命中是排查线索,不代表自动确认根因。当前不支持 TLS 解密、跨文件合并、边抓边逐包展示或 AI 根因判断。部分虚拟/回环网卡无法提供系统流量统计时会明确显示“统计不可用”,仍可抓包。

默认 10 GB 是允许导入的上限;实际耗时、内存和磁盘占用取决于协议与会话复杂度。完整阈值、空间要求、设置项和限制见 使用说明。

从源码运行

开发需要 Windows x64、Node.js ≥ 22.12、Python ≥ 3.10,以及 TShark(已验证 4.6.8)。使用 Python 3.14 可与当前打包环境保持一致。

git clone https://github.com/ez4cywa/PacketLens.git
cd PacketLens
npm ci
# 安装 7-Zip 后,下载并校验官方 Wireshark,再提取本地工具(不安装驱动)
powershell -NoProfile -File scripts/prepare_wireshark.ps1
npm start

也可安装官方 Wireshark 并设置 TSHARK_PATH,用于源码模式。浏览器开发入口为 python server.py;桌面入口为 npm start。

构建与验证

python -m pip install pyinstaller==6.21.0
npm run build:win         # Inno Setup EXE 安装包,输出到 dist/
# npm run build:nsis     # 可选:electron-builder NSIS 安装包
# npm run build:portable # 可选:首次解压后缓存的单文件版
python -m unittest discover -s tests -v

打包需要先将官方工具准备到 tools/wireshark,安装版另需 Inno Setup 6(ISCC.exe,可用 ISCC_PATH 指定路径)。本地已通过 34 项测试,包括真实回环采集;真实采集测试需安装 Npcap 并显式设置 PACKETLENS_TEST_LIVE=1。CI 不启用真实抓包测试。

本地大文件基准:1.17 GB、800,000 个合成 UDP 报文,完整分析与末页查询约 27 秒。这是单会话样例,不代表任意真实流量性能。详见 使用说明 与 启动性能记录。

项目结构

analyzer.py / storage.py    协议诊断与 SQLite 磁盘索引
capture.py / nic_traffic.py 网卡采集与实时流量统计
server.py / desktop.cjs     本地 API 与 Electron 桌面入口
web/                       中文分析工作台
scripts/                   Windows 构建、打包和验证
tests/ / samples/           回归测试与合成抓包

参与与许可证

欢迎提交 Issue 或 Pull Request。开发规范见 CONTRIBUTING.md。请优先使用合成或脱敏抓包复现问题。

PacketLens 自身源码采用 MIT。实际集成的 Wireshark/TShark、Electron、Apache ECharts 与 SQLite 保留各自许可证,见 第三方声明。Wireshark 对应版本源码随 Release 提供;Npcap 不随安装包分发。

About

Windows 抓包与网络故障分析工具:实时网卡流量、PCAP/PCAPNG 大文件分析、TCP/DNS/HTTP 诊断。Local packet capture diagnostics GUI.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages