【bash】 dig 反向域名查詢


「dig + 反向域名查詢」指的是利用 dig 命令做一個 反向DNS查詢(Reverse DNS Lookup).

目的是從一個 IP 地址反查它對應的域名(hostname)。

正常DNS查詢 vs 反向DNS查詢

  • 正常DNS查詢(Forward DNS Lookup):
    你輸入一個域名(比如 example.com),查詢它對應的IP地址。
  • 反向DNS查詢(Reverse DNS Lookup):
    你輸入一個IP地址,查詢這個IP所對應的域名(如果有設定的話)。

正常DNS查詢命令

  • dig 查詢域名對應的A記錄(IPv4地址):
1
dig example.com
  • nslookup 查詢:
1
nslookup example.com


dig怎麼做反向查詢?

反向查詢的核心是查詢特殊的 PTR(Pointer)記錄,它將IP映射回域名。

步驟:

  1. 把IPv4地址倒序並加上 .in-addr.arpa
    例如:IP是 8.8.8.8
    反向查詢的域名是:8.8.8.88.8.8.8.in-addr.arpa
    但實際上,要倒序IP各段:8.8.8.88.8.8.8 (本例對稱,但一般是倒轉)
    其實寫法是 8.8.8.8.in-addr.arpa,但是正確是倒序:8.8.8.88.8.8.8 其實就是自己。

    正確倒序應該是把 192.0.2.1 變成 1.2.0.192.in-addr.arpa

  2. 用 dig 查詢 PTR 記錄:

1
dig -x 8.8.8.8

或者手動:

1
dig 8.8.8.8.in-addr.arpa PTR

其中 -x 參數就是反向查詢的簡寫。


簡單總結

  • dig -x <IP地址> 是用來查詢該IP所對應的域名(如果有設置反向DNS)。
  • 反向DNS常用於郵件伺服器驗證、網絡安全、排錯等場景。