GoForum🌐 V2EX

我被一个 heartbeat 刷屏了两天——追踪 v2ray 日志疯狂报警的真相

s1sunny · 2026-04-16 21:35 · 0 次点赞 · 1 条回复

起因

某天打开 v2rayN ,发现日志以每秒 2 条的速度疯狂刷 Warning ,重要关键词: http://127.0.0.1:61242/heartbeat

[Warning] [2007118945] app/proxyman/inbound: connection ends > proxy/http: connection ends > proxy/http: failed to write response > write tcp 127.0.0.1:10808->127.0.0.1:13356: wsasend: An established connection was aborted by the software in your host machine.

一个本地端口 61242,每秒被请求 2 次,每次都失败。日志文件几天就涨到几十 MB ,更要命的是——真正有用的代理日志全被淹没了

这谁受得了?开查。

——————文章来自 AI 总结,我觉得这次经验值得发出来。相信会有跟我一样遭遇的人。 ——————另外整个问题解决过程由龙虾辅助处理,虽然我使用 TCPVIEW 工具给它提供了很关键的信息。但检查分析工作都由它完成,真的太强了。


第一轮:Chrome ?

netstat 一看,连向代理端口 10808 的进程中,Chrome 的 NetworkService 子进程连接数最多。Chrome 扩展里确实有 SwitchyOmega 代理插件。

结论: 关掉 Chrome 。结果——heartbeat 还在。❌

第二轮:拼多多?

netstat 发现 PID 4380 ( PddService ,拼多多商家版)有连接到代理。拼多多商家版也是 Electron 架构,前端渲染进程发 heartbeat 很正常。

结论: 退出拼多多。结果——heartbeat 还在。❌

第三轮:360 ?

用 TCPVIEW 锁定:所有连向 61242 的连接来自 explorer.exe,状态 SYN_SENT。而 explorer.exe 里注入了一堆 360 安全卫士的 DLL (iNetSafe64.dllsafemon64.dll 等),这些 DLL 有网络监控能力。

结论: 卸载 360 。结果——heartbeat 还在。❌

360 卸载后 DLL 仍残留在内存中,重启 explorer 也没用。线索断了。


破案:一个二进制字符串搜索

既然进程确定是 explorer.exe,那问题一定出在注入到 explorer 的某个 Shell Extension DLL 上。

我列出了 explorer.exe 加载的所有第三方 DLL ,然后对每个 DLL 做了一个最原始的操作——搜索二进制里的字符串

$bytes = [System.IO.File]::ReadAllBytes($dll)
$text = [System.Text.Encoding]::ASCII.GetString($bytes)
$text -match 'heartbeat'   # 搜心跳关键字
$text -match '61242'       # 搜端口号

结果:

DLL heartbeat 61242
360/safemon64.dll
360/iNetSafe64.dll
IDM/IDMNetMon64.dll
WPS/qingnse64.dll
Fangcloud/explorer-extension-x64.dll

方正云( Fangcloud )。同时命中 heartbeat61242

再看看上下文,这个 DLL 里硬编码了一整套本地 API:

http://127.0.0.1:61242/heartbeat
http://127.0.0.1:61242/overlay_status
http://127.0.0.1:61242/context_menu
http://127.0.0.1:61242/remote_call

完整的真相浮出水面——


完整链路

方正云 Shell Extension DLL (注入 explorer.exe )
  → 每秒发 2 次 HTTP GET http://127.0.0.1:61242/heartbeat
  → 方正云客户端服务未启动,61242 端口无人监听
  → 请求被系统代理转发到 v2ray ( 127.0.0.1:10808 )
  → v2ray 尝试连 61242 ,失败,刷 Warning 日志

方正云安装了一个 Shell Extension (右键菜单集成、文件夹图标覆盖),这个 DLL 注入到 explorer.exe 后,以每秒 2 次的频率检测本地服务是否在线。即使你没有打开方正云客户端,只要 explorer.exe 在运行,心跳就不会停。

而一旦服务没启动( 61242 没人监听),请求就会走系统代理 → 经过 v2ray → 刷满你的日志。


解决

  1. 卸载方正云E:\ProgramData\Fangcloud\uninst.exe
  2. 重启电脑(释放注入的 DLL )
  3. 日志清净了 ✅

经验总结

  1. Electron/Chromium 应用关闭不等于进程退出,Chrome 关了还有子进程,拼多多退了还有后台服务。排查时要确认相关进程全部消失。

  2. 卸载软件 ≠ DLL 释放,注入到 explorer.exe 的 Shell Extension 在卸载后仍留在内存中,必须重启 explorer 或重启电脑。

  3. 最有效的排查手段往往最简单——在二进制文件里搜字符串。不要被复杂的网络抓包工具吓到,grep 二进制就能定位问题。

  4. 本地请求不应该走代理。如果你的代理日志被本地流量刷屏,检查系统代理的”绕过列表”( ProxyOverride )是否正确配置了 127.*localhost。不过在这个案例中,即使绕过列表正确,有些程序内部硬编码了代理地址,根本不走系统设置。

  5. Shell Extension 是隐蔽的流量源。注入 explorer.exe 的第三方 DLL 拥有完整的网络能力,但很少被怀疑。以后遇到不明本地流量,优先排查 Shell Extension 。


全文完。一个 1.6MB 的 DLL ,两天的排查。有时候最烦人的 bug ,藏在你最想不到的地方。

1 条回复
afkool · 2026-04-16 22:05
#1

国产软件除了微信 QQ 没办法。其余只配呆在沙盒里。。

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: s1sunny
发布: 2026-04-16
点赞: 0
回复: 0