Domain-Name-System
為什麼 nslookup 和 dig 給我一個“警告:ID 不匹配…得到 0”錯誤?
我正在嘗試解決一些持久性連接問題,並且在使用 dig 或 nslookup 時經常收到以下錯誤消息。
bash$ nslookup > www.google.com ;; Warning: ID mismatch: expected ID 36298, got 0 ;; Warning: ID mismatch: expected ID 36298, got 0 ;; Warning: ID mismatch: expected ID 36298, got 0 bash$ dig www.google.com ;; Warning: ID mismatch: expected ID 34149, got 0 ;; Warning: ID mismatch: expected ID 34149, got 0 ;; Warning: ID mismatch: expected ID 34149, got 0 ; <<>> DiG 9.8.3-P1 <<>> www.capitalone360.com ;; global options: +cmd ;; connection timed out; no servers could be reached
誰能闡明此錯誤消息的含義,尤其是“得到0”部分?
這意味著
nslookup
或dig
收到了一個 ID 為零的回复,而不是它所期望的 ID。作為防止偽造 DNS 回复的一部分,每個 DNS 查詢都包含一個 ID,通常是隨機選擇的。DNS 伺服器將 ID 複製到回復中,允許客戶端匹配對查詢的回复並防止偽造的 DNS 回復被接受。這可能是由損壞的 DNS 伺服器或損壞的 DNS 轉發或重寫方案引起的。它也可能是由欺騙性 DNS 回复的攻擊引起的,儘管這不太可能。