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发现, 安全检测, 插件系统, 无后门, 网络安全, 网络流量分析, 逆向工具, 隐私保护