ToolAct工具行動

UA 解析器

線上解析 User-Agent 字串,識別瀏覽器、作業系統和裝置資訊

User-Agent
字元數: 0

解析結果

在此貼上 User-Agent 字串...

什麼是 User-Agent?

UA 解析工具會把 User-Agent 字串拆解成瀏覽器、作業系統、裝置類型、渲染引擎,以及有時包含的爬蟲或客戶端線索。User-Agent 常出現在日誌、資料分析、客服工單、相容性測試和安全排查中,可以協助判斷某次請求來自什麼類型的客戶端。但它不是可靠身分標識:UA 可以被偽造、縮短、因隱私策略被修改,也可能被現代 Client Hints 補充或取代。這個工具適合快速閱讀和對比 UA,但不應單獨用於權限、反詐欺、個人化或關鍵裝置判斷。需要準確性時,應結合伺服器日誌、特性檢測和客戶端檢查。

使用方式

使用方式

  1. 將要解析的 User-Agent 字串貼到輸入框中
  2. 或點選「解析我的 UA」自動偵測目前瀏覽器的 UA
  3. 解析結果會顯示在下方,包含瀏覽器、系統與裝置詳細資訊
  4. 點選「複製 UA」可複製原始 UA 字串

解析限制

  • User-Agent 字串可能會被現代瀏覽器偽造、凍結或簡化,因此請將解析結果視為參考。
  • 進行功能判斷時,建議優先採用能力偵測,而非依瀏覽器名稱判斷。

使用場景

檢查客服工單中不明的 User-Agent貼上從伺服器日誌、瀏覽器開發工具或資料分析後台複製的 User-Agent 字串,即可查看瀏覽器、作業系統、裝置和渲染引擎的拆解結果。當客戶回報版面、字型或功能異常而您只有原始 UA 可用時,這是開始相容性調查的最快方式。交叉比對解析出的引擎版本與特性偵測結果,以排除偽造或凍結的數值。
檢查自身瀏覽器 UA 是否符合當前標準「解析我的 UA」功能會將 navigator.userAgent 填入輸入框並立即進行解析。將結果與 Sec-CH-UA、各大瀏覽器發布的凍結/簡化 UA 列表以及您的特性偵測邏輯進行比較,確保資料分析分群和功能開關與客戶端的實際能力一致。解析出的 UA 與特性偵測之間的不匹配通常是 UA 簡化政策的第一個跡象。
標記疑似機器人和爬蟲除了函式庫解析外,工具還會檢查常見的機器人模式,如 bot、crawler、spider、Googlebot、Bingbot、Baiduspider、YandexBot、DuckDuckBot、facebot 和 ia_archiver。bot 欄位使自動化流量更容易被識別。建議搭配伺服器端速率限制,因為基於關鍵字的偵測可能被刻意模仿真實瀏覽器 UA 的爬蟲繞過。
比對兩個 User-Agent 字串的差異貼上桌面 Chrome 的 UA 和手機 Safari 的 UA,然後並排比較引擎、作業系統和裝置類型欄位,以找出為何回應式分支在一個客戶端觸發而在另一個沒有。同樣的方法可以揭示 Chromium 瀏覽器中共享空白版本段的凍結或簡化 UA 字串。並排差異通常比在兩台裝置上重新執行同一頁面來確認版面回歸更快。
偵測 Chrome 簡化、Client Hints 和行動裝置標記現代 Chrome 100+ 使用簡化的 UA 字串,將次要版本凍結為 0.0.0,並將真實版本資料轉移到 Sec-CH-UA-Full-Version-List;交叉比對解析出的主要版本與 Client Hints 標頭以捕捉簡化情況。行動裝置偵測依賴於關鍵字標記(iPhone、Android、Mobile)而非螢幕尺寸,而現代 Client Hints 提供比 UA 字串本身更可靠的 Sec-CH-UA-Mobile 布林值。在做出裝置類別決策前,務必結合 UA 解析、Client Hints 和特性偵測。

技術原理

User-Agent 標頭由 RFC 7231 §5.5.3 定義,是一系列產品標記(product/version)和括號註解的序列,但實際上每個現代瀏覽器傳送的字串都以字面量 Mozilla/5.0 開頭。這個前綴可追溯到 1993 年,當時網站透過檢查 Mozilla 來偵測 NCSA Mosaic;Netscape 採用了 Mozilla,Internet Explorer 3 為了相容性也加入了它,之後的每個分支(Safari、Chrome、Edge、Opera)都保留了這個標記。沒有正式的文法定義 OS 位於何處、引擎版本放在哪裡,或當多個瀏覽器為了相容性互相列出時哪個標記優先,因此解析是透過一組優先排序的正規表達式對四個經典維度進行:瀏覽器、引擎、作業系統、裝置。開源函式庫如 ua-parser-js、bowser 以及 UAParser 的 Lua/Python 移植版都維護相同的模式檔案。自 2022 年起,Chrome 推行 UA 縮減(UA Reduction):瀏覽器版本凍結為 MAJOR.0.0.0,平台特定的次要標記被移除,因此解析出的 Chrome 120.0.0.0 在 Windows 上實際代表 Chrome 120.x 在 Windows 10 或 11 上執行,精確的組建號隱藏在 Client Hints 背後。現代替代方案是 User-Agent Client Hints(draft-ietf-httpbis-client-hints),它在每個請求中暴露 Sec-CH-UA、Sec-CH-UA-Mobile 和 Sec-CH-UA-Platform,並透過 navigator.userAgentData.getHighEntropyValues() 提供高熵值(型號、完整版本、架構)。UA 解析器在日誌審查和爬蟲分類中仍然有用,但功能偵測和 Client Hints 應該驅動任何執行時的分支判斷。

  • RFC 7231 §5.5.3 將 User-Agent 定義為產品標記加註解,沒有 OS 或裝置的文法——每個解析器都自行維護正規表達式列表
  • Mozilla/5.0 前綴是 1993 年 Mosaic 時代的相容性駭客手法;Safari、Chrome 和 Edge 都保留它以避免破壞瀏覽器偵測網站
  • Chrome UA 縮減(2022–2023 年推出)將次要版本凍結為 0.0.0 並固定平台字串——真實組建號存放在 Sec-CH-UA-Full-Version-List 中
  • User-Agent Client Hints 在每個請求中暴露 Sec-CH-UA、Sec-CH-UA-Mobile、Sec-CH-UA-Platform;高熵欄位需要 navigator.userAgentData.getHighEntropyValues(['model','platformVersion','architecture'])
  • 透過關鍵字(bot、crawler、spider、Googlebot、Bingbot、Baiduspider、YandexBot)偵測機器人可以抓到守規矩的爬蟲,但無法抓到模仿真實 Chrome UA 的對抗性爬蟲——需搭配速率限制和行為信號
  • 手機與平板的判斷依據是標記(Mobile、Tablet、iPhone、iPad)而非螢幕尺寸;沒有 Mobile 標記的 Android UA 會被大多數解析器視為平板
  • 以 Vary: User-Agent 為快取鍵的快取和 CDN 會將單一資源分裂成數千個快取項目——建議改用 Vary: Sec-CH-UA-Mobile 或接受較低的命中率

範例

Chrome 瀏覽器

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36

iPhone Safari

Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 Version/17.0 Mobile/15E148 Safari/604.1

Google 爬蟲

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

常見問題

User-Agent 解析會抓出什麼資訊?

瀏覽器名稱與版本(例如「Chrome 124」)、作業系統與版本、裝置類型(桌機/手機/平板)、CPU 架構、渲染引擎(Blink/Gecko/WebKit),以及當 UA 符合已知爬蟲樣式時的機器人/爬蟲分類。

UA 解析有多準確?

對主流、知名的瀏覽器表現良好。但在以下情況會卡關:解析庫尚未更新的全新版本;為了規避偵測而模仿 Chrome/Safari 的瀏覽器;偽裝成真實 UA 的機器人;UA 顯示宿主 App 而非引擎名稱的內嵌 WebView。

為什麼 User-Agent 字串越來越沒參考價值?

瀏覽器廠商(以 Chrome 為首)為了限制指紋追蹤正在「凍結」UA 字串,改推 UA Client Hints(Sec-CH-UA-* 標頭)。再過幾年,UA 字串只會回報穩定且資訊量低的固定值,真正的裝置資料則會放在 Client Hints 中,程式碼也應隨之遷移。

可以用 UA 偵測來開關功能嗎?

幾乎不該這麼做。UA 會說謊,且即使是同一款瀏覽器,不同版本對功能的支援也不同。請改用 `if ('serviceWorker' in navigator)` 這類功能偵測。UA 偵測適合用在分析、客服工單、Bug 報告分類,不適合用來決定要呼叫哪個 API。

可以解析我自己的 UA 嗎?

可以。頁面頂端會顯示你目前瀏覽器的 UA 並拆解成各個欄位,方便你確認瀏覽器到底向伺服器回報了哪一個版本。

可以用來偵測機器人嗎?

解析器能辨識會自我表明身分的良性機器人(Googlebot、Bingbot、Slackbot)。惡意機器人通常會偽裝成真實瀏覽器,因此單靠 UA 偵測效果有限。實際防護應結合速率限制、CAPTCHA 與行為訊號。

UA 會被上傳嗎?

不會。解析在你的瀏覽器中以 JS 函式庫(通常是 ua-parser-js)執行,貼上的 UA 字串不會傳到伺服器。