首页
/ Matomo设备检测库中的异常User-Agent分析

Matomo设备检测库中的异常User-Agent分析

2025-06-25 22:15:53作者:幸俭卉

在Matomo设备检测库的实际应用中,我们发现了一系列具有特殊标识的Android浏览器User-Agent字符串。这些User-Agent主要来自几款具有代理功能的移动浏览器应用,其共同特征是都包含特殊的AppleWebKit标识符。

异常User-Agent特征分析

这些浏览器的User-Agent字符串具有以下显著特征:

  1. 都使用Dalvik/2.1.0作为起始标识(标准的Android运行时环境)
  2. 操作系统版本固定为Android 10
  3. 设备型号信息各不相同(如CPH2179、Infinix X690等)
  4. 包含特殊的AppleWebKit标识格式[PB/xxx],其中xxx为数字编号
  5. Chrome版本固定为108.0.0.0
  6. 最后都带有Mobile Safari/537.36标识

典型的User-Agent示例:

Dalvik/2.1.0 (Linux; U; Android 10; CPH2179 Build/QP1A.190711.020) AppleWebKit [PB/171] (KHTML, like Gecko) Chrome/108.0.0.0 Mobile Safari/537.36

客户端提示(Client Hints)数据分析

这些应用还提供了丰富的客户端提示数据,格式为自定义的JSON结构,包含以下关键信息:

  1. 设备屏幕信息(分辨率、像素比)
  2. 硬件配置(RAM大小、GPU型号、CPU核心数)
  3. 显示特性(色深、色彩空间)
  4. 用户代理客户端提示(UA-CH)数据:
    • 品牌列表(固定为Not_A Brand/Chromium/Android WebView组合)
    • 平台标识(固定为Android)
    • 移动设备标识(固定为1)
    • 64位模拟标识(固定为0)

典型的客户端提示数据示例:

{
  "width":"720",
  "height":"1600",
  "ratio":"2",
  "ram":"4",
  "gpu":"PowerVR SGX Doma",
  "colorDepth":"24",
  "gamut":"srgb",
  "cores":"8",
  "hints":{
    "brands":[
      {"brand":"Not_A Brand","version":"8"},
      {"brand":"Chromium","version":"120"},
      {"brand":"Android WebView","version":"120"}
    ],
    "mobile":"1",
    "platform":"Android",
    "wow64":"0"
  }
}

技术背景分析

这些特征表明这些浏览器应用很可能是基于同一套代码基础开发的,可能使用了某种WebView封装框架。特殊之处在于:

  1. AppleWebKit [PB/xxx]标识可能是这些代理浏览器自定义的版本标识,PB可能代表"Proxy Browser"
  2. 固定的Chrome版本号108.0.0.0与实际版本不符,可能是硬编码值
  3. 客户端提示数据中的硬件信息与实际设备可能不一致,存在虚拟化可能
  4. 多个应用共享相似的技术实现,但具有不同的数字标识(如PB/171、PB/81等)

检测与处理建议

对于设备检测库来说,这类User-Agent需要特殊处理:

  1. 应当识别AppleWebKit [PB/xxx]模式作为代理浏览器的特征标识
  2. 需要解析客户端提示数据中的真实设备信息(如有)
  3. 注意区分这些浏览器与标准Chrome/WebView浏览器的差异
  4. 考虑将这些浏览器归类为特定的"代理浏览器"类别,而非标准浏览器

这类浏览器的出现反映了移动端Web浏览的多样化趋势,特别是在需要绕过网络限制的场景下。设备检测库需要不断更新以准确识别这类非标准浏览器实现。

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