mustafaghosi678/Netscope

GitHub: mustafaghosi678/Netscope

NetScope 是一个基于 Scapy 的离线 pcap 文件分析工具,通过行为模式检测 TCP 端口扫描和明文凭证泄露等可疑网络活动。

Stars: 0 | Forks: 0

# NetScope **Pcap 分析工具**,用于读取网络捕获文件(`.pcap`)并标记可疑模式: TCP 端口扫描和明文传输的凭证。 ## 为什么开发这个工具 NetScope 覆盖了网络层 —— 读取原始数据包 捕获并识别对检测和事件响应至关重要的模式。它的构建旨在 演示: - 处理二进制协议数据(通过 `scapy` 进行原始数据包解析) - 检测式逻辑(基于行为模式,而不仅仅是单一事件规则) - 与 ADSentry 相同的可测试、可扩展架构(见下文) ## 设计选择:仅基于文件,绝不进行实时捕获 NetScope 始终只读取 `.pcap` 文件(`rdpcap`)—— 它从不执行实时数据包捕获。 这是有意为之:实时捕获需要原始套接字和提升的权限(Windows 上的 Npcap, 其他平台上的 libpcap),这增加了平台特定的脆弱性,而这与 本项目旨在演示的实际分析逻辑毫无关系。只需提供来自 Wireshark、 tcpdump 或(如本文所包含的)一个合成生成的 `.pcap` 文件即可。 ## 为什么使用合成样本捕获? `data/sample.pcap` 由 `scripts/generate_sample_pcap.py` 生成,而不是从 任何地方下载的。现实世界中的 pcap 通常包含真实的 IP 地址、真实的凭证,或 其他敏感数据,这些数据不属于我,不适合发布,也不适合用于构建公开的作品集项目。 合成捕获是可重现的、可安全共享的,并且仍能针对真实的网络格式字节 运行真实的数据包解析代码 —— 检测器不知道也不关心该捕获是 合成生成的。 ## 已实现的检测器 | 检测器 | 标记内容 | |---|---| | `port_scan` | 某个源 IP 向同一主机的 15 个以上不同目标端口发送纯 SYN 数据包 —— 经典的 TCP SYN 扫描特征 | | `cleartext_credentials` | 包含 `Authorization: Basic`、明文 FTP `USER`/`PASS` 或 `password=` 等标记的 Payload | ## 运行方式 ``` python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e . netscope --input data/sample.pcap --output findings.json cat findings.json ``` 重新生成样本捕获: ``` python scripts/generate_sample_pcap.py ``` ## 运行测试 ``` pip install -r requirements-dev.txt ruff check src tests pytest -v ``` ## License MIT — 见 [LICENSE](LICENSE)。
标签:pcap解析, Python, Scapy, StruQ, URL发现, 安全检测, 插件系统, 无后门, 网络安全, 网络流量分析, 逆向工具, 隐私保护