blackapple805/pcap-scope

GitHub: blackapple805/pcap-scope

一个基于React和Vite的纯客户端PCAP网络抓包分析仪表盘,在浏览器中完成数据包解析、可视化展示和安全检测,无需后端或文件上传。

Stars: 1 | Forks: 0

# PCAP 范围 一个类似于 Splunk/Grafana 风格的网络抓包仪表盘,完全**在你的浏览器中运行**。将 `.pcapng` / `.pcap` / `.cap` 文件拖拽到页面上——它会在客户端解析数据包(不会向任何地方上传),并渲染出一整套分析视图,包括 C2 信标检测和数据渗出检测。 **无需 Python。无需后端。无需上传。** 抓包文件永远不会离开你的本地机器。 ## 运行 ``` npm install npm run dev ``` 打开打印出的 localhost URL(通常是 `http://localhost:5173`),然后将抓包文件拖拽到上面。 ## 视图 - **Network Graph** — 谁与谁进行通信的力导向图。绿色 = 本地设备,蓝色 = 互联网主机。节点大小 = 传输的字节数,边缘宽度 = 数据包数量。鼠标悬停可查看数据包 / 字节 / 服务 / 主机名。 - **My Devices** — 每个本地设备及其推测的设备类型(Smart TV、手机、IP 摄像头、智能插头、打印机、游戏主机等),推测依据包括它联系的域名、MAC 供应商及其流量形态——此外还包括它通信的对端以及哪一方发起了每个连接。每个推测都会显示其置信度及其背后的证据。 - **Conversations** — 可排序、可筛选的每对主机表格。 - **Top Talkers** — 传输数据量最大的前 15 个主机。 - **Protocols & Services** — 每种协议(环形图)和每种服务(柱状图)的字节数。 - **Timeline** — 抓包期间的字节数(面积图)和数据包数(折线图)。 - **Beaconing** — 连接以异常稳定的频率重复出现的主机对(C2 签到的统计特征),每一个都附带遏制预案。 - **Exfiltration** — 通过两个通道离开网络的数据:**volume**(一台主机发送的数据远多于接收的数据——上传倒置)和 **DNS tunneling**(通过长且高熵的子域名查询将数据偷偷传出)。一个同时进行信标通信和数据渗出的主机将被升级为 **dual signal**——这是工具中最强的单一线索。云备份和高频通信的 CDN 会被剔除并打上标签。每个发现都包含一个针对特定通道的预案。 - **Validation** — 使用主机名 TLD、地址类型和从 TTL 推导出的跳数距离,来证实或反驳每个主机的地理位置结果。 所有计算均在客户端完成。使用顶栏的 **Export** 功能可将分析结果保存为 `.json` 文件,你可以稍后重新打开(将其拖回仪表盘即可),而无需重新上传 pcap 文件。 ## 解析内容 ## 构建用于托管 ``` npm run build ``` 静态站点会生成在 `dist/` 目录中——你可以将其托管在 Cloudflare Pages、Netlify、GitHub Pages 等平台上。 ## 技术栈 React 19 · Vite · Recharts · vis-network · IBM Plex · 手写的 pcap 解析器 (`src/pcapParser.js`) ## Geo-IP 归属 离线国家/地区查询使用 [geo-whois-asn-country](https://github.com/sapics/ip-location-db) 数据集(CC0 / PDDL,公共领域)。它被打包为 `public/geoip.bin.gz` 中约 1.2 MB 的紧凑二进制文件,并在客户端进行搜索——不会有任何查询请求离开你的机器。
标签:AMSI绕过, IP 地址批量处理, PCAP解析, React, Syscalls, 威胁检测, 数据可视化, 网络安全, 自定义脚本, 隐私保护