
在偵錯我的一個 websocket 應用程式時注意到一件有趣的事情,即 Google Chrome 會在網路連線狀態發生變化時發出 3 個 http 請求;
相當令人不安,看起來幾乎就像某些惡意軟體正在隨機檢查伺服器一樣。
我不太明白為什麼,因為它們都回傳一個502
或根本沒有回應代碼,因為目的地不存在。
斷開連線時:
重新連線:
我想主要的問題是這很正常,有什麼用;他們為什麼不去去找實際存在的 dns 呢?
答案1
我記得這是 Chrome 的特殊功能。此功能用於協助偵測您的提供者是否專門處理無效的 dns 條目。chromium bugtracker - 最新消息
答案2
這看起來令人震驚,但在 Chrome 中顯然是正常且預期的行為。
為了使用位址/位置欄進行搜尋而不僅僅是 URL,Chrome 需要檢查輸入的文字是否不是有效的網域,然後才能將其視為搜尋字詞。然而,有些 IPS 會針對不存在的網域提供廣告頁面(DNS劫持),這將使每個域看起來都存在!為了測試這一點,Chrome 將查詢一些隨機的、可能是偽造的單字域名,並查看它們是否映射到相同的 IP 位址。如果這樣做,Chrome 可以假設上游 ISP 正在執行 DNS 劫持。