Repository navigation
Releases: ziyuw-Plank/Wireshark-for-Android
Release list
SharkDroid 1.1.1 (Wireshark 4.6.9, arm64) – reproducible build
English: SharkDroid 1.1.1 (Wireshark 4.6.9, arm64). The app itself is unchanged from 1.1.0. This release makes the build reproducible so that F-Droid can verify it and publish this upstream-signed APK, and it is the first release tested on a real device: a rooted Xiaomi 14 Pro running Android 16.
更新内容
- 可复现构建:原生部分的输出不再依赖源码目录和 NDK 路径(使用
-ffile-prefix-map;glib 使用固定前缀并通过 DESTDIR 安装;tshark/dumpcap 不生成 build-id)。在两个不同目录分别构建,得到逐字节相同的未签名 APK。本 APK 就是按 F-Droid 配方构建出来的,再用apksigner --alignment-preserved签名,因此 F-Droid 可以直接比对。 - 版本号:1.1.1(versionCode 3)。
- 实机测试:已在 Xiaomi 14 Pro(Android 16,已 root)上测试通过。
- 签名证书与之前相同,SHA-256:
72590f3238296885b7d1a2b9b600594350e5ea8477277e45fe4222985196f157,可以直接覆盖安装 1.1.0。 - 命令行包与上游源码包和 v1.1.0 相同,请到 v1.1.0 的发布页获取。
SharkDroid 1.1.0 (Wireshark 4.6.9, arm64) – new Material 3 UI
English: SharkDroid 1.1.0 is a full UI redesign (Jetpack Compose + Material 3, dynamic color, light/dark, original launcher icon) on the same Wireshark 4.6.9 core. Same signing key as 1.0.0, so it installs over it. The app has been tested on a real Android phone and runs normally.
![]() |
![]() |
![]() |
![]() |
截图使用演示数据(JVM 截图测试渲染),不是真实抓包。
更新内容
- 全新界面:改用 Jetpack Compose + Material 3。Android 12+ 支持 Material You 动态取色,其他设备使用“深海”配色;有浅色和深色主题,支持全面屏(edge-to-edge)和预测性返回手势。
- 符合 Android 习惯的交互:
- 顶栏和溢出菜单。
- 右下角大按钮开始/停止抓包,抓包时显示红色录制状态和已抓时长。
- 选择接口的底部面板,用标签显示类型(Wi‑Fi / 蜂窝 / VPN / 回环 / 全部)和启用状态。
- “新建抓包”面板,可填 BPF 捕获过滤器,并提供常用建议。
- 显示过滤器搜索栏:输入时由 tshark 本身校验(与 Wireshark 一样有效变绿、无效变红并显示错误信息),还有历史记录和常用过滤器建议。
- 包列表:仿 Wireshark 的协议着色,数字用等宽字体,顶部有固定的状态栏(包数 / 数据量 / 时长)。自动滚动可开关,往上滑会暂停。长按可以按协议或地址过滤、复制。列表使用分批更新和稳定 key,高包速下也保持流畅。
- 包详情:可展开的协议树,字节视图放在底部面板,点字段会高亮对应字节。长按字段可以设为过滤器或复制。支持追踪 TCP/UDP 流。
- 其他页面:
- 已保存的抓包:左滑删除,提示条里可以撤销;通过系统面板分享或导出。
- 统计:概要卡片、协议分布,以及 tshark 报告。
- 设置:主题、动态取色、快照长度、自动滚动、开源许可(含 GPL 全文)。
- 诊断页。
- 其他改进:空状态和加载状态,用提示条代替弹窗。按返回键不会中断正在进行的抓包(前台服务 + 通知栏停止按钮)。中英文界面跟随系统语言。
- 原创自适应图标:由包列表行组成的鱼鳍加波浪,带前景、背景和单色层(支持 Android 13 主题图标)。没有使用 Wireshark 的商标 logo。
安装 / 升级
- 下载
SharkDroid-1.1.0-wireshark-4.6.9-arm64-release.apk,用adb install -r安装,或在手机上直接打开安装。1.0.0 使用的是同一个签名,可以直接覆盖升级。 - 打开后给予 root:Magisk 在弹窗中点允许;KernelSU / APatch 在管理器中授权后,回到 App 点横幅上的“重试”。
签名证书 SHA-256: 72590f3238296885b7d1a2b9b600594350e5ea8477277e45fe4222985196f157(与 1.0.0 相同)
已验证 / 未验证
已验证:
- 作者已在 Android 真机上测试 App,运行正常。
- release APK 已签名,证书指纹如上,版本为 versionCode 2 / 1.1.0。
- 合并后的清单中:没有 INTERNET 权限;只有启动器 Activity 是导出的;DissectorService 仍是
isolatedProcess;分享用的 Provider 不导出。 - 14 张界面截图由 Robolectric 原生图形渲染真实的 Compose UI(使用演示数据),覆盖浅色和深色、空状态、接口面板、新建抓包面板、过滤器的有效和无效状态、包详情、已保存、统计、设置、英文界面和图标。
- tshark、dumpcap 和 root 辅助程序与 1.0.0 完全相同,CLI 包没有变化。
未验证:
- 蜂窝
rmnet_data*接口仍未实测。
已知限制
不支持 Wi‑Fi 监听模式;不能解密 TLS/QUIC 内容;包详情是单遍解析;列表最多显示 100 万行,单个文件到 2 GiB 自动停止;只支持 arm64。显示过滤器校验需要启动一次 tshark,所以变色会有短暂延迟。
安全设计(未变)
只有 dumpcap 以 root 运行:经过固定路径 + stdin 参数协议交给 root 辅助程序校验,再用 execv 启动,不经过 shell。tshark 在隔离沙箱里解析数据包,过滤器校验也在沙箱里进行。没有联网权限,没有遥测。抓包文件存放在 App 私有目录,权限为 0600。另外移除了 AndroidX 默认加入的导出接收器(profile installer)和 EmojiCompat 字体提供程序初始化器。所有组件都从验证过的官方源码编译,见 SOURCES.txt。
附件
- 安装包:
SharkDroid-1.1.0-wireshark-4.6.9-arm64-release.apk - 命令行包(与 1.0.0 相同):
sharkdroid-cli-wireshark-4.6.9-android-arm64.tar.gz - 校验与证书:
SHA256SUMS、SOURCES.txt、release-signing-cert.txt - 源码:
sharkdroid-source.tar.gz(git archive,提交 95bea3f) - 截图:
screenshot-*.png - GPL/LGPL 对应的上游原始源码包,附签名或校验文件:wireshark-4.6.9、glib-2.88.3、libgcrypt-1.12.4、libgpg-error-1.61
SharkDroid 1.0.0 (Wireshark 4.6.9, arm64)
English: Pre-release of SharkDroid — Wireshark 4.6.9 (tshark + dumpcap, all dissectors) cross-compiled for rooted arm64 Android (API 29+) with a phone UI. CLI tools verified on an Android emulator; the app itself has not yet been tested on a real device.
这是什么
SharkDroid 把 Wireshark 4.6.9(截至 2026-09 的最新稳定版)的抓包和解析核心(dumpcap + tshark,含全部协议解析器)用 NDK r27c 交叉编译到 arm64-v8a / Android 10+,再加一个手机界面:选接口(Wi‑Fi wlan0、蜂窝 rmnet_data*(原始 IP)、VPN tun0、any)、BPF 捕获过滤器、Wireshark 显示过滤器、包列表、详情树和十六进制视图、统计、追踪流、导出和分享 pcapng。另附 adb 手动用的命令行包。针对小米 14 Pro(骁龙 8 Gen 3,HyperOS)做的接口适配。
安装
- 下载
SharkDroid-1.0.0-wireshark-4.6.9-arm64-release.apk,用adb install安装或在手机上直接打开安装。HyperOS 提示“安全检查”时选继续即可(App 没有联网权限)。 - 打开 App,在 Magisk 弹窗点“允许”;用 KernelSU / APatch 的话,先在管理器里给 SharkDroid 打开 root,再回到 App 点 ↻。不需要
setenforce 0。 - Android 13+ 开始抓包时可以允许通知(显示“停止”按钮),拒绝也能用。
release APK 签名证书 SHA-256: 72590f3238296885b7d1a2b9b600594350e5ea8477277e45fe4222985196f157(自签名,CN=SharkDroid (self-signed))。可以用 apksigner verify --print-certs 核对。以后的版本会用同一个证书签名;debug APK 的签名不同,不能和 release 互相覆盖安装。
推送到电脑 Wireshark:adb exec-out "su -c '<原生库目录>/libdumpcap.so -i wlan0 -F pcapng -q -w -'" | wireshark -k -i -(App 菜单里可以复制带实际路径的命令;Windows 请在 cmd.exe 里运行)。
已验证 / 未验证(请务必看)
已验证:
- 在 x86_64 电脑上用 qemu-aarch64:
tshark -v正常;解析 Wireshark 自带的样例包正确(http、dns+icmp、dhcp、原始 IP 的 http-ooo);PDML 和十六进制输出正常;从 stdin 流式读入时逐包实时输出。 - 在 Android 16 模拟器上(x86_64 + arm64 指令翻译,SELinux enforcing,adb root):
tshark解析样例文件正常,dumpcap -D列出了接口;root 辅助程序拒绝了注入尝试(如eth0;reboot、带换行的过滤器);在lo上实际抓包,pcapng 正常流出,关闭输入后能正常停止并输出统计,抓到的文件能被正确解析。 - 原生程序全部是 PIE + Full RELRO,启用了栈保护和 FORTIFY,按 16 KB 页对齐,只依赖系统
libc.so。
未验证:
- App 还没有在任何真机或模拟器上启动过:模拟器在本次构建环境里起不稳定。包括 su 授权弹窗、接口列表、实时抓包界面、包详情界面、隔离沙箱执行 tshark 在内的 App 内流程都还没跑过。所以这一版标成 pre-release,欢迎反馈。
- 蜂窝
rmnet_data*没有实测:libpcap 补丁让它按 DLT_RAW 打开,代码审查过但没有真机测试。出问题时可以改用any接口。
已知限制
- 不支持 Wi‑Fi 监听模式(高通原厂驱动不提供),
wlan0抓到的是本机收发的以太网帧。 - 不能解密 TLS/QUIC 内容;没有编进 GnuTLS / Kerberos / Lua / nghttp2 / zstd / lz4 / brotli / snappy。
- 没有 Qt 图形界面和图表,统计结果是 tshark 文本。包详情是单遍解析,可能看不到指向后面包的链接。列表最多显示 100 万行,单个抓包文件到 2 GiB 自动停止。只支持 arm64。
安全设计(摘要)
- 全部从官方上游源码编译,版本固定,验证了 GPG 签名或官方校验值(见
SOURCES.txt),没有使用任何第三方预编译二进制。 - 只有 dumpcap 以 root 运行。交给
su -c的只是一个固定的库路径;接口名和过滤器通过 stdin 交给 root 辅助程序校验,再用固定参数数组execv启动 dumpcap,全程不经过 shell。 - tshark 在
isolatedProcess沙箱里解析不可信的抓包数据:随机 UID、没有任何权限,调用不了 su。 - 没有 INTERNET 权限,没有遥测,DNS 反查默认关闭。抓包文件存在 App 私有目录,只有你手动导出或分享时才会离开 App。关闭了备份,除启动器外不导出任何组件。
附件
SharkDroid-1.0.0-wireshark-4.6.9-arm64-release.apk:推荐安装这个SharkDroid-1.0.0-wireshark-4.6.9-arm64-debug.apk:调试版sharkdroid-cli-wireshark-4.6.9-android-arm64.tar.gz:命令行版(tshark、dumpcap、capinfos、editcap、mergecap、数据文件、许可证、补丁)sharkdroid-source.tar.gz:本仓库 v1.0.0 的源码SHA256SUMS、SOURCES.txt、release-signing-cert.txt- GPL/LGPL 对应源码(未修改的上游原始包,附上游签名或校验文件):
wireshark-4.6.9.tar.xz(+SIGNATURES-4.6.9.txt)、glib-2.88.3.tar.xz(+.sha256sum)、libgcrypt-1.12.4.tar.bz2(+.sig)、libgpg-error-1.61.tar.bz2(+.sig)。我们对这些源码做的修改都在仓库的patches/和构建脚本里。其余组件的官方下载地址和 SHA256 见SOURCES.txt。
许可证:GPL-2.0-or-later(第三方组件各自遵循自己的许可证)。



