ToolConvoyToolConvoyv2.6
DEV

User-Agent 解析器 — 解析 User-Agent 字符串以识别浏览器、操作系统与设备

解析 User-Agent 字符串,提取浏览器、版本、操作系统、设备类型与渲染引擎。覆盖超过 10,000 种匹配模式,完全在浏览器端运行。

● 本地运行 · 在您的标签页中生成页面加载以来工具发出的网络请求:0 次

User Agent Parser

Parse User-Agent strings — detect browser, OS, device. Works entirely in your browser.

User-Agent 头是最古老的 HTTP header 之一,从它的形态就能看出岁月的痕迹。从 1995 年起,所有浏览器发送的字符串都以 Mozilla/5.0 开头 —— 一种对早已不存在的浏览器的宣称,起因是早期 Web 服务器在提供 frames 之前会先嗅探 User-Agent 中的 Mozilla。Chrome 又因为同样的原因添加了 AppleWebKitKHTML 标记(这些引擎它并没有真正使用)。结果就是:同一个 header,既是服务器所能获取的最丰富的客户端信息来源,也是最不可靠的。解析器的工作就是从中提取出真实信号 —— 是哪个浏览器、哪个版本、哪个操作系统,以及客户端是真人还是搜索引擎爬虫。

结构化输出在三类场景中尤为有用。第一,分析场景:CSV 导出里原始的 UA 列是不透明的,但「Windows 11 上的 Chrome 125」是一个可作为筛选维度的字段。第二,爬虫识别:像 Googlebot 这样诚实地在 User-Agent 中声明身份的爬虫,只要快速解析一下,就能把它与伪装成 Chrome 60 的僵尸网络流量区分开。第三,客服诊断:当用户报 bug 时,他们的 UA 字符串(从浏览器控制台或服务器日志获取)能直接告诉你他们的浏览器、操作系统与设备,无需来回邮件确认。上述每一条工作流都从同一动作开始 —— 粘贴字符串,读取解析结果。

最后的交付建议:如果解析结果显示客户端是已知爬虫,请结合反向 DNS 查询交叉验证 IP,确认它确实来自预期的搜索引擎;如果字符串来自分析流水线,把解析输出与 IP Subnet Calculator 配合使用,把流量映射到地理区域;如果你是出于安全决策(如拦截某个浏览器版本)的目的而依赖 User-Agent 解析 —— 请不要这样做。这个 header 极易伪造,安全的做法是检查客户端能力(capabilities),而不是客户端身份(identity)。

广告

使用方法

  1. 粘贴一条 User-Agent 字符串

    把原始 User-Agent 头值粘贴到输入框。可以从浏览器 DevTools(Network 标签 > Request Headers)、服务器访问日志或分析导出里复制。解析器会从噪声中提取出真实信号。

  2. 查看结构化解析结果

    输出会按字段分别显示浏览器名称与版本、渲染引擎、操作系统与版本、设备类别(桌面、手机、平板、爬虫),以及设备厂商,每个字段都带有置信度评分。

  3. 复制结果用于分析或调试

    把结构化的 JSON 复制出来,用在分析过滤器、爬虫识别规则或客服诊断中。如果有对应的 Client Hints 等价值,会与解析结果并列展示。

常见问题

为什么 User-Agent 字符串看起来像乱码?

User-Agent 字符串是历史遗留的产物。每一个浏览器都自称 Mozilla(来自 1995 年的浏览器大战),每个版本都带有用于与嗅探特定字符串的站点兼容的标记,最终形成的字符串是一连串只有规范认可才能起作用的「谎言」。解析器的作用就是穿透这些历史噪声。

解析器能识别爬虫与采集器吗?

可以。Googlebot、Bingbot、Baiduspider、YandexBot 以及超过 250 种已知爬虫模式都会被匹配。每个爬虫结果都包含爬虫名称与 `bot` 设备类型标签。伪装成真实浏览器 UA 的恶意或冒充爬虫更难识别,可能会被误分类。

这与浏览器里的 `navigator.userAgent` 有什么区别?

`navigator.userAgent` 返回的是当前浏览器自己的原始字符串。本工具可以解析任意 User-Agent 字符串,而不限于你正在运行的那个 —— 可以粘贴从日志、分析数据或其他用户 HTTP header 中收集到的字符串。

能解析移动 App 中的 User-Agent 字符串吗?

可以。基于 WebView 的应用(iOS WKWebView、Android WebView)、React Native 的 fetch 调用,以及 App 内嵌浏览器视图都会带上与系统浏览器相同模式并附加 App 后缀的 User-Agent。解析器会同时提取出系统浏览器和 App 名称。

限制说明

  • 更推荐使用 User-Agent Client HintsUser-Agent 字符串正被 Chrome 弃用,取而代之的是结构化的 HTTP header —— User-Agent Client Hints(UA-CH)。本工具可以解析旧式 UA 字符串,但未来属于结构化 hints。
  • 无法识别伪造的 UA攻击者可以把 User-Agent 设置成任何字符串。解析器如实报告字符串所声明的内容,而不是真实设备。若需高置信度识别,请使用 TLS 指纹识别或客户端检测。
  • 版本识别是尽力而为浏览器版本解析依赖各家厂商遵循的约定,而这些约定会随时间变化。像 Chromium 分支在 UA 中上报的版本与 `navigator.appVersion` 不一致之类的边缘情况,可能存在细微误差。

平台说明

macOS
Safari 的 User-Agent 包含 `Version/17.x`(Safari 版本)和 `AppleWebKit/605.1.15`(WebKit 引擎)。解析器会正确拆分这两者,并在 Web Inspector 调试场景中正确标记渲染引擎。
Web
完全在客户端运行。从服务器日志复制 UA 字符串粘贴进来即可获得解析结果,无需把数据发给任何在线解析服务。
广告
广告