安卓 VPN 连接监控:检测掉线与出口 IP 变化

NetPulse 是一款免费开源的安卓应用,用来监控你的 VPN 或代理连接是否还在线。它本身不是 VPN——而是持续检测互联网是否可达、显示你当前的出口 IP,并在连接断开或出口 IP 变化的瞬间提醒你。如果隧道悄悄掉线、流量回落到你 ISP 的真实 IP,NetPulse 会立刻让你看到。

为什么要监控 VPN 连接?

VPN 和代理常常悄无声息地断掉。切换网络、休眠射频、服务器超时或 app 崩溃都可能让隧道掉线,而手机照常上网,只是已经换回了你的真实 ISP 连接。没有东西提醒的话,你可能几个小时都察觉不到。

隧道掉线有两个可观测的征兆:出口 IP 回到你 ISP 的地址,且隧道重连期间往往有短暂的断网。NetPulse 同时盯住这两点——实时显示出口 IP 并高亮它变化的那一刻,也检测互联网何时变得不可达。

对依赖稳定出口 IP 或地区的人尤其重要:用企业 VPN 的远程办公者、用隐私 VPN 的用户、用代理固定某地区的人,以及测试地区相关行为的开发者。

NetPulse 如何检测 VPN 掉线

NetPulse 从不接触你的 VPN。它从外部观察连接,通过两个相互独立的信号推断掉线:

  • 出口 IP 变化——每次检查都查询你当前的公网出口 IP。VPN 在线时你看到的是 VPN 服务器的 IP 和地区;一旦掉线,看到的就变成你 ISP 的 IP,检查日志会高亮这次变化。
  • 可达性丢失——每次检查请求一个轻量的 generate_204 端点,只接受严格的 204 No Content。隧道重连通常会造成短暂的可达性缺口,NetPulse 会记录并可就此提醒。

是监控,不是 kill switch

边界要说清楚:NetPulse 只观测,不强制。VPN kill switch 会在隧道掉线的瞬间阻断所有流量、防止泄漏;NetPulse 不阻断任何流量——它只告诉你掉线发生了。如果你需要硬性防泄漏,请用 VPN 客户端自带的 kill switch,并用 NetPulse 在旁提供知情、检查日志和一双额外盯着连接的眼睛。

正因为只观测,NetPulse 不需要 VPN 权限、不路由你的任何流量,也不给你的隧道增加攻击面。它只运行一个轻量的前台服务,每次检查都留在你的设备上。

如何用 NetPulse 监控 VPN

  1. 1

    安装 NetPulse

    从 GitHub Releases 下载 APK,安装在 Android 8.0(API 26)及以上的设备上。

  2. 2

    照常连接你的 VPN

    像平时一样启动你的 VPN 或代理 app。NetPulse 在旁运行,绝不干扰隧道。

  3. 3

    开始监控

    打开 NetPulse 点击开始。它会按固定且可配置的间隔探测,并显示你当前的出口 IP 和地区。

  4. 4

    开启掉线提醒

    打开震动和声音提醒,连接断开或出口 IP 变化时第一时间通知你。

VPN 掉线的迹象

  • NetPulse 里的出口 IP 突然变成了你的 ISP,而不是 VPN 服务器。
  • 某次检查失败(叉号)几秒后又恢复——典型的隧道重连。
  • 出口 IP 的地区从你选的位置变回了你的真实位置。

常见问题

NetPulse 能自动帮我重连 VPN 吗?

不能。NetPulse 只观测和提醒,无法启动、停止或重连你的 VPN,因为它从不控制隧道。自动重连请用你的 VPN 客户端。NetPulse 的职责是让掉线可见,方便你及时反应或排查。

NetPulse 是 kill switch 吗?

不是。kill switch 会在隧道掉线时阻断流量;NetPulse 不阻断任何东西,它是被动监控、只报告掉线。要防泄漏请在 VPN 客户端里开启 kill switch,并用 NetPulse 配合它提供可见性和检查日志。

NetPulse 看得到我的 VPN 流量吗?

看不到。NetPulse 不路由、不拦截、不检查任何流量,也不申请 VPN 权限。它唯一的网络活动是很小的连通性探测和一次出口 IP 查询。所有数据留在设备上——无账户、无统计。

VPN 掉线后我多快能知道?

取决于你的检查间隔。NetPulse 按固定且可配置的间隔探测,并在第一次检查失败或出口 IP 变化时提醒。间隔越短发现越快,略微费电;间隔越长越省电。

它支持任何 VPN 或代理吗?

支持。因为 NetPulse 从隧道外部观察,所以与具体 VPN 无关——任何 VPN 客户端、WireGuard 或 OpenVPN 配置、或代理都行;它只读取你最终的出口 IP 和可达性,不需要和 VPN app 集成。

获取 NetPulse