Android 网络诊断工具箱,集成 Ping、Traceroute、NetInfo、NSLookup、抓包、打流与 VPN 信息查询。
| 模块 | 说明 |
|---|---|
| Ping | 调用系统 ping 命令进行 ICMP 连通性测试 |
| Traceroute | 优先使用系统 traceroute,否则 TTL 递增探测 |
| NetInfo | Wi-Fi/蜂窝/默认网络/本机网卡信息 |
| NSLookup | 系统 DNS + dnsjava 多记录类型查询 |
| 抓包 | 基于 VpnService 的本地隧道抓包(无需 Root) |
| 打流 | HTTP 请求压测、TCP 连接测试、UDP 发包 |
| VPN 信息 | VPN 连接状态、隧道、路由、DNS、Always-on 等 |
- Android Studio Ladybug 或更高版本
- JDK 17
compileSdk 34,minSdk 26
- 用 Android Studio 打开本项目
- 同步 Gradle
- 连接真机或模拟器运行
app
./gradlew :app:assembleDebug本应用可通过 Android 公开 API 查询以下 VPN 相关信息:
- 连接状态:是否处于 VPN 传输、活动 VPN 数量
- 隧道接口:
tun/ppp名称、UP 状态、MTU - 地址:隧道 IPv4/IPv6
- DNS:VPN 下发的 DNS 服务器、搜索域
- 路由:分流/全隧道策略、默认路由
- 底层网络:VPN 叠加在 Wi-Fi 或蜂窝之上
- 网络能力:是否已验证可上网、是否计费网络
- HTTP 代理:VPN 是否注入代理
- Always-on VPN:是否开启、是否锁定(无 VPN 则断网)
- 已安装 VPN 应用:声明
BIND_VPN_SERVICE的应用列表
- 其他 VPN 应用的会话密钥、加密算法细节
- 完整的分应用分流白名单(per-app VPN 排除列表)
- 内核级 tcpdump / 全部进程 socket 详情
- 企业 MDM 下发的隐藏策略
- Kotlin + Jetpack Compose + Material 3
- Navigation Compose
- OkHttp(HTTP 打流)
- dnsjava(DNS 查询)
MIT