為什麼我的電腦嘗試將 ICMP 類型 3 傳送到 OpenDNS?

為什麼我的電腦嘗試將 ICMP 類型 3 傳送到 OpenDNS?

在我的防火牆日誌中,我看到很多這樣的條目。

IN= OUT=eth0 SRC=192.168.1.105 DST=208.67.220.220 LEN=148 TOS=0x00 PREC=0xC0 TTL=64 ID=55705 PROTO=ICMP 類型=3 代碼=3 [SRC=208.68.208. LEN=120 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=UDP SPT=53 DPT=25566 LEN=100 ]

看起來位於208.67.220.220 的OpenDNS 伺服器透過UDP 從連接埠53 向我的電腦發送了某種訊息,並且我的電腦嘗試使用ICMP 代碼類型3 進行回應(我的防火牆會阻止它,因為我已將其配置為阻止ICMP)除外,但也有少數例外。

來自OpenDNS 伺服器的ICMP 類型3 是有意義的,因為我的電腦會嘗試查詢他們的伺服器,但我不明白為什麼我的電腦會嘗試將此訊息發送到他們的伺服器,除非他們的伺服器試圖查詢我的伺服器。

來自他們伺服器的 UDP 封包是某種查詢嗎?

這裡發生了什麼事?

答案1

您是否在 IP 192.168.1.105 的電腦上執行 Chrome? Chrome 似乎嘗試使用 ICMP 到 OpenDNS 進行預取。

http://productforums.google.com/forum/#!topic/chrome/spzCFoXR7m4

請參閱幫助參考。看來關閉 DNS 預取是可能的。

您可以按照此處的說明將其關閉:

http://www.google.com/support/forum/p/Chrome/thread?tid=7e45d89c67905b20&hl=en


編輯#1:後續問題

@ProxyNinja 在下面的評論中提出了以下問題:

但 ICMP 類型 3 聽起來像是對查詢的回應。它如何用於預取?

我對此的回答是:

我的猜測是,像這樣執行 ping 操作會強製本機解析器執行 DNS 查詢,從而使其提前解析。 ping 並不重要,他們所追求的是它所造成的 DNS 解析。

答案2

這是運行 dnsmasq 的系統的預期行為

ICMP 類型 3 是「目標無法到達」。這表示您的上游 DNS 伺服器嘗試向您發送回應,並且系統上用於接收該連接埠的連接埠在回應到來之前已關閉。

您在另一個答案的評論中提到您正在運行 dnsmasq。預設情況下,當 dnsmasq 定義了多個上游伺服器時,每隔如此多的請求,它將向上游發送其查詢全部其中。這有助於它找出哪些伺服器目前正在回應以及哪些伺服器速度最快。一般來說,在得到最快的回應後,它會關閉連接埠。如果來自其他 DNS 伺服器的任何進一步回應,則不再有應用程式偵聽它們,因此 dnsmasq 所在的系統會回覆「目標無法到達」ICMP 訊息。除了日誌中顯示的一點點額外流量之外,它實際上不應該引起任何問題。

欲了解更多信息,請參閱評論Debian 錯誤 #580064,有人報告了這個問題,dnsmasq 的主要開發人員回覆說這是預期的行為。

相關內容