emanuele-f/PCAPdroid
GitHub: emanuele-f/PCAPdroid
PCAPdroid 是一款免 root 的 Android 网络监控与抓包工具,通过本地 VPN 隧道捕获并分析设备上各应用的网络连接。
Stars: 4261 | Forks: 502
# PCAPdroid
PCAPdroid 是一款注重隐私的开源应用,可让您跟踪、分析和屏蔽设备中其他应用建立的网络连接。它还允许您导出流量的 PCAP dump,检查 HTTP,解密 TLS 流量等等!
PCAPdroid 通过模拟 VPN 的方式,在无需 root 的情况下捕获网络流量。它不使用远程 VPN 服务器,数据直接在设备本地进行处理。
您可以通过将 [Beta 仓库](https://pcapdroid.org/fdroid/repo/) 添加到 F-Droid 应用中,在正式发布前测试最新功能。
## 用户指南
请查看[快速入门指南](https://emanuele-f.github.io/PCAPdroid/quick_start)或完整的[用户指南](https://emanuele-f.github.io/PCAPdroid)。
## 集成到您的应用中
PCAPdroid 的部分功能可以集成到第三方应用中,以提供数据包捕获功能。
- 对于已 root 的设备,可以直接将 [pcapd daemon](https://github.com/emanuele-f/PCAPdroid/tree/master/app/src/main/jni/pcapd) 集成到您的 APK 中以捕获网络数据包。
- 对于所有设备,PCAPdroid [提供了一个 API](https://github.com/emanuele-f/PCAPdroid/blob/master/docs/app_api.md) 来控制数据包捕获,并通过 UDP 将捕获到的数据包发送到您的应用。这需要将 PCAPdroid 与您的应用一同安装。
## 开源
PCAPdroid 由开源技术驱动。
- [nDPI](https://github.com/ntop/nDPI):深度包检测库,提供连接元数据
- [mitmproxy](https://github.com/mitmproxy/mitmproxy):用于 TLS 解密的本地代理
- [zdtun](https://github.com/emanuele-f/zdtun):用于非 root 捕获的微型 TCP/IP 协议栈
有关第三方库的完整列表,请查看应用中的“关于”页面。
## 构建
1. 在 Windows 上,安装 [gitforwindows](https://gitforwindows.org)
2. 克隆此仓库
3. 在仓库目录中,运行 `git submodule update --init`。此时应会填充 `submodules` 目录。
4. 在 Android Studio 中打开项目,安装相应的 SDK 和 NDK
5. 构建应用
*注意*:如果您遇到“No valid CMake executable was found”错误,请务必从 SDK 管理器安装 PCAPdroid 所使用的 CMake 版本(目前为 [3.22.1](https://github.com/emanuele-f/PCAPdroid/blob/master/app/build.gradle))
您可以通过将 [Beta 仓库](https://pcapdroid.org/fdroid/repo/) 添加到 F-Droid 应用中,在正式发布前测试最新功能。
## 用户指南
请查看[快速入门指南](https://emanuele-f.github.io/PCAPdroid/quick_start)或完整的[用户指南](https://emanuele-f.github.io/PCAPdroid)。
## 集成到您的应用中
PCAPdroid 的部分功能可以集成到第三方应用中,以提供数据包捕获功能。
- 对于已 root 的设备,可以直接将 [pcapd daemon](https://github.com/emanuele-f/PCAPdroid/tree/master/app/src/main/jni/pcapd) 集成到您的 APK 中以捕获网络数据包。
- 对于所有设备,PCAPdroid [提供了一个 API](https://github.com/emanuele-f/PCAPdroid/blob/master/docs/app_api.md) 来控制数据包捕获,并通过 UDP 将捕获到的数据包发送到您的应用。这需要将 PCAPdroid 与您的应用一同安装。
## 开源
PCAPdroid 由开源技术驱动。
- [nDPI](https://github.com/ntop/nDPI):深度包检测库,提供连接元数据
- [mitmproxy](https://github.com/mitmproxy/mitmproxy):用于 TLS 解密的本地代理
- [zdtun](https://github.com/emanuele-f/zdtun):用于非 root 捕获的微型 TCP/IP 协议栈
有关第三方库的完整列表,请查看应用中的“关于”页面。
## 构建
1. 在 Windows 上,安装 [gitforwindows](https://gitforwindows.org)
2. 克隆此仓库
3. 在仓库目录中,运行 `git submodule update --init`。此时应会填充 `submodules` 目录。
4. 在 Android Studio 中打开项目,安装相应的 SDK 和 NDK
5. 构建应用
*注意*:如果您遇到“No valid CMake executable was found”错误,请务必从 SDK 管理器安装 PCAPdroid 所使用的 CMake 版本(目前为 [3.22.1](https://github.com/emanuele-f/PCAPdroid/blob/master/app/build.gradle))标签:Bash脚本, UML, 域名枚举, 自定义DNS解析器