搜尋抓取

识別真假搜尋蜘蛛:UA、反向 DNS 與 IP 段的核對顺序

日誌里自称搜尋蜘蛛的請求未必可信。本文给出 UA、反向 DNS 正反查、IP 段三层核對顺序,說明行為侧信号怎么看,以及確認伪造来源後按什么步骤處理,帮助站点在不誤伤真實蜘蛛的前提下让抓取資料保持可信。

搜尋抓取

识別真假搜尋蜘蛛:UA、反向 DNS 與 IP 段的核對顺序

日誌里出現大量“自称蜘蛛”的請求时,很多人的第一反應是在 robots.txt 或服務器策略里封掉。但封错的代價不小:真正的搜尋蜘蛛被挡在门外,URL 發現和更新都會受影响;而放行了伪造来源,又會把無效請求算進抓取資料,導致對抓取健康状况的誤判。核對身份,是後續所有判断的前提。

為什么要先核對身份,再谈抓取

抓取日誌、带宽占用、狀態碼分布這些指标,都建立在“這些請求确實来自搜尋蜘蛛”的假设上。假设不成立,後面的分析全部失真。常见场景有两類:一是第三方采集脚本伪装 UA,把服務器压力算到搜尋引擎头上;二是真實搜尋蜘蛛被誤判為恶意流量而拦截。两者都會让运营决策跑偏。

三层核對:UA、反向 DNS、IP 归属

第一层:User-Agent

UA 是最容易伪造的一层,只能当作篩選线索,不能作為结论。核對时注意大小寫、版本号格式是否完整,以及是否缺少常见的伴随字段。看到 UA 里寫着常见蜘蛛标识,先记下来,進入下一层驗證。

第二层:反向 DNS 正查與反查

主流搜尋引擎的官方文档通常會给出驗證方式:先對来訪 IP 做反向解析得到域名,再對该域名做正向解析,確認能回到同一個 IP。两步都通過,才是比較可靠的證據。只做反向解析就下结论,容易被伪造的 PTR 记錄骗過。

第三层:IP 段與归属

把通過驗證的 IP 與官方公布的 IP 段列表比對。官方會不定期更新段列表,定期同步一次比較省事。归属信息可以看 ASN 和註冊组织,但不同查询工具的结果可能不一致,作為辅助參考即可。

行為侧信号怎么用

身份核對之後,再看行為是否符合预期。真實蜘蛛一般遵循 robots.txt,抓取节奏相對平稳,不會在几秒内請求几百個動態參數頁面。行為異常不一定代表伪造,也可能是站点把蜘蛛引向了無限篩選參數,這时先回到抓取路径和内鏈结构上找原因。

  • 請求频率是否在短時間内異常集中
  • 是否大量請求 robots.txt 中已禁止的路径
  • 是否只抓取少數几個模板,且集中在參數頁
  • 是否總在請求站内搜尋、排序、會话類 URL

確認是伪造来源後的處理顺序

  1. 先在日誌里给這批請求打标簽,观察它占比多大、集中在哪些路径。
  2. 检查 robots.txt 與 WAF 規則,確認没有誤伤真實蜘蛛的 IP 段或 UA。
  3. 優先用限速或路径級限制,不要一次性封整個 IP 段,避免誤伤共用出口的真實流量。
  4. 處理後再看一周日誌,確認目标路径請求量回落,同时真實蜘蛛的抓取量没有减少。

常態化核對清單

  • 每月拉一次官方 IP 段列表,與本地白名單比對
  • 抽查若干條請求,完整走一遍反向 DNS 正反查
  • 把“疑似伪造”和“確認真實”分開记錄,不要混在一張表里
  • 站点規模變化、上新模板、調整 CDN 之後,重新核對一次白名單
身份核對的目的不是封掉更多請求,而是让抓取資料可信。資料可信,後面關于 URL 發現、抓取覆盖率的判断才有意义。