首页
/ Sing-box中sniff异常导致fakeip被错误发送的问题分析

Sing-box中sniff异常导致fakeip被错误发送的问题分析

2025-05-09 14:22:45作者:滕妙奇

问题背景

在Sing-box 1.11.0-beta.15版本中,用户在使用fakeip功能配合sniff规则时发现了一个异常行为。当运行speedtest测速时,系统未能正确执行sniff操作,同时将fakeip地址直接作为目标地址发送到了服务端,导致连接异常。

技术细节分析

该问题出现在以下配置组合下:

  1. 启用了fakeip功能,配置了198.18.0.0/15作为IPv4地址范围
  2. 设置了sniff规则,尝试嗅探STUN、P2P和DTLS协议
  3. 配置了10ms的超时时间

当客户端尝试访问speedtest.race.com时,系统按预期生成了fakeip地址198.18.0.33。然而,在路由处理阶段出现了异常:

  1. 系统正确识别了fakeip域名speedtest.race.com
  2. 匹配到了sniff规则,尝试进行协议嗅探
  3. 嗅探过程既未成功也未超时(日志中未显示结果)
  4. 最终将fakeip地址198.18.0.33直接作为目标地址发送到了服务端

问题影响

这个bug会导致以下影响:

  1. 使用fakeip和sniff组合配置时,特定流量会被错误路由
  2. 服务端会收到无法处理的fakeip地址,导致连接失败
  3. 影响speedtest等应用的正常使用

解决方案

Sing-box开发团队在1.11.0-beta.16版本中修复了该问题。升级到该版本后:

  1. sniff功能能够正确处理fakeip流量
  2. 不会再将fakeip地址错误发送到服务端
  3. speedtest等应用可以正常工作

最佳实践建议

对于使用类似配置的用户,建议:

  1. 及时升级到最新版本
  2. 在测试环境中验证新版本的功能
  3. 监控日志中的sniff处理结果
  4. 根据实际需求调整sniff超时时间(10ms可能过短)

该问题的修复体现了Sing-box项目对路由处理逻辑的持续优化,确保了fakeip和sniff功能的协同工作能力。

登录后查看全文
热门项目推荐
相关项目推荐