User Agent 解析器 — 我的 User Agent 是什么?浏览器、系统、设备
查看你自己的 User Agent 和客户端提示,或把任意 UA 字符串解析为浏览器、引擎、操作系统、设备和 CPU。支持批量模式并导出 CSV。
发现问题,或者觉得哪里可以更好?每条消息我们都会阅读,并尽快修复。
这款 User Agent 解析器会显示你的浏览器发送的 User Agent 字符串,并把它拆解为浏览器、渲染引擎、操作系统、设备类型、厂商、型号和 CPU 架构。粘贴任何其他 UA 字符串(来自服务器日志或 bug 报告),也会以同样的方式解码;切换到批量模式,可一次解析成千上万行并导出为 CSV。Googlebot、Bingbot、GPTBot 和 ClaudeBot 等已知爬虫、链接预览抓取程序以及 curl 之类的 HTTP 客户端都会被标记出来。
User Agent 字符串提供的信息已经不如从前。Chrome 现在发送的是精简版 UA,版本号被冻结(129.0.0.0),在 Android 上设备型号还被伪装成“K”;Mac 上的所有浏览器都报告 macOS 10.15.7;Windows 11 则自称 Windows 10。如果你的浏览器支持 User-Agent 客户端提示,工具还会显示这些提示透露的信息,以及屏幕、视口、语言和时区。解析使用开源的 ua-parser-js 库,在你的设备上运行;不记录任何内容。
使用方法
- 打开页面:你自己的 User Agent 会自动填入并立即解析,右侧显示客户端提示和浏览器详情。
- 要解码其他 User Agent,把它粘贴到输入框中,或点击某个示例(iPhone、Android、Googlebot 等)。
- 阅读结果下方的说明:它们会解释哪些字段不可信,比如被冻结的 macOS 版本或精简的 Chrome 字符串。
- 处理日志时,选择“批量解析”,每行粘贴一个 User Agent,然后把表格下载为 CSV。
常见问题
什么是 User Agent 字符串?
它是浏览器或其他客户端随每个请求发送的 User-Agent HTTP 头的值,用来描述发出请求的软件。网站用它做数据分析、爬虫检测,以及(不太明智地)给不同浏览器提供不同内容。出于历史兼容原因,几乎所有浏览器的字符串仍以“Mozilla/5.0”开头,这也是它们看起来如此令人困惑的原因。
为什么我的 Mac 显示 macOS 10.15.7?
Safari、Chrome、Edge 和 Firefox 都把 User Agent 中的 macOS 版本冻结在 10.15.7(Catalina),无论你实际运行的是哪个版本。这样做是出于隐私考虑,也因为版本号到 11 时有些网站出了问题。真实版本不在 UA 字符串中;在 Chromium 浏览器中,网站可以通过 Sec-CH-UA-Platform-Version 客户端提示请求它。
如何区分 Windows 10 和 Windows 11?
靠 User Agent 区分不了:两者都发送“Windows NT 10.0”。在 Chrome 和 Edge 中,平台版本客户端提示(navigator.userAgentData.getHighEntropyValues 或 Sec-CH-UA-Platform-Version 头)在 Windows 11 上返回 13 或更高,在 Windows 10 上返回 10 或更低。Firefox 和 Safari 不支持客户端提示,因此在这些浏览器中没有可靠的方法。
什么是 User-Agent 客户端提示?
Chromium 浏览器(Chrome、Edge、Opera、Samsung Internet)中用来取代 User Agent 字符串的机制。浏览器品牌、主版本号、平台以及是否为移动设备等低熵提示会默认发送。确切的操作系统版本、设备型号和完整浏览器版本等高熵提示,只有在网站请求时才会发送,从而让被动指纹识别更加困难。
可以靠 User Agent 识别爬虫吗?
只能作为第一道筛选。任何客户端都可以发送任意 User Agent,采集程序经常冒充 Chrome 或 Googlebot。要确认请求确实来自 Googlebot 或 Bingbot,请对 IP 做反向 DNS 查询,确认它解析到 googlebot.com、google.com 或 search.msn.com,再做正向查询确认解析回同一个 IP。OpenAI 等部分运营方还公布了其爬虫的 IP 范围。
这个工具会把我的 User Agent 发送到任何地方吗?
不会。页面从你的浏览器读取它,并用 JavaScript 在本地解析。当然,你访问的每个网站本来就会在请求头中收到你的 User Agent;这个工具只是让你看看它们看到了什么。
如何读懂 User Agent 字符串
以一个典型的 Windows 版 Chrome 字符串为例:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36。
• Mozilla/5.0 是所有现代浏览器都会发送的兼容性标记;如今已没有任何意义。
• (Windows NT 10.0; Win64; x64) 是平台:Windows 10 或 11,64 位。
• AppleWebKit/537.36 (KHTML, like Gecko) 是另一个兼容性标记;Chrome 的引擎实际上是 Blink。
• Chrome/129.0.0.0 是真正的浏览器及其主版本号;次要版本部分被 Chrome 的 UA 精简置为零。
• Safari/537.36 的存在,是为了让那些嗅探 Safari 的网站把 Chrome 当作兼容 WebKit 的浏览器。Edge 会在同样的基础字符串后追加 Edg/,Opera 追加 OPR/,Samsung Internet 追加 SamsungBrowser/,所以解析器会优先检查这些标记。
特性检测胜过 User Agent 嗅探
如果你读到这里是因为想给不同浏览器提供不同代码,请改为检测特性本身:CSS @supports、“'serviceWorker' in navigator”,或某个库的能力检测。User Agent 会被伪造、冻结和精简,针对今天的字符串写的判断,会在浏览器改变版本格式时失效。把 UA 解析留给数据分析、调试报告和爬虫过滤,这些场景偶尔猜错也无伤大雅。
常见爬虫和机器人的 User Agent
• Googlebot:包含“Googlebot/2.1”;Google-Extended 是用于 AI 训练用途的 robots.txt 标记,而不是单独的爬虫字符串。
• Bingbot:包含“bingbot/2.0”。
• GPTBot、OAI-SearchBot 和 ChatGPT-User(OpenAI),ClaudeBot 和 Claude-User(Anthropic),PerplexityBot:AI 爬虫和用户触发的抓取程序,均有运营方的文档说明,并可通过 robots.txt 控制。
• facebookexternalhit、Twitterbot、LinkedInBot、Slackbot、Discordbot:有人分享 URL 时抓取页面以生成链接预览。
• curl/、Wget/、python-requests/、Go-http-client/、okhttp/:脚本和后端服务。不一定是恶意的,但不是拿着浏览器的真人。
相关免费工具
- HTTP 状态码 — 从 100 到 511 的全部官方 HTTP 状态码,以及 nginx、Cloudflare 和 AWS 状态码,附各自的使用场景。
- 正则表达式测试 — 用示例文本测试正则表达式,实时高亮匹配结果,显示捕获组并预览替换效果。免费,在浏览器中运行。
- JSON 格式化 — 格式化、压缩和校验 JSON,解析错误精确到行和列。在浏览器中运行,无需上传。
- Robots.txt 生成器 — 生成 robots.txt,提供全部允许、测试环境和 WordPress 预设,带 AI 爬虫设置(禁止训练、保留 AI 搜索),并对会导致网站被移出索引的错误发出警告。