<em id="hanht"></em>

    <dd id="hanht"></dd>

    <em id="hanht"><acronym id="hanht"></acronym></em>
    
    <button id="hanht"></button>
    <rp id="hanht"><object id="hanht"><blockquote id="hanht"></blockquote></object></rp><em id="hanht"></em>

    首頁 > 學院 > 系統知識 > 正文

    教你怎么使用 dig?

    2022-07-09 12:57:44
    字體:
    來源:轉載
    供稿:網友
    當我第一次使用 dig 時,我發現它有點嚇人 —— 有這么多的選項!我打算把大部分的選項省略。在這篇文章中,我打算不談 dig 的大部分選項,只談我實際使用的選項。
     
    我最近還了解到,你可以設置一個 .digrc 配置文件,讓它的輸出更容易閱讀,這讓它的使用變得更加輕松。
     
    幾年前我還畫了一個關于 dig 的 zine 頁,但我想寫這篇文章來包括更多的信息。
     
    兩種類型的 dig 參數:查詢和格式化
    有兩種主要的參數可以傳遞給 dig:
     
    告訴 dig 要進行什么 DNS 查詢的參數。
    告訴 dig 如何 格式化響應的參數。
    首先,讓我們看一下查詢選項。
     
    主要的查詢選項
    你通常想控制 DNS 查詢的 3 件事是:
     
    名稱(如 jvns.ca)。默認情況下,查詢的是空名稱(.)。
    DNS 查詢類型(如 A 或 CNAME)。默認是 A。
    發送查詢的 服務器(如 8.8.8.8)。默認是 /etc/resolv.conf 中的內容。
    其格式是:
     
    dig @server name type
    這里有幾個例子:
     
    dig @8.8.8.8 jvns.ca 向谷歌的公共 DNS 服務器(8.8.8.8)查詢 jvns.ca。
    dig ns jvns.ca 對 jvns.ca 進行類型為 NS 的查詢。
    -x:進行反向 DNS 查詢
    我偶爾使用的另一個查詢選項是 -x,用于進行反向 DNS 查詢。下面是輸出結果的樣子。
     
    $ dig -x 172.217.13.174
    174.13.217.172.in-addr.arpa. 72888 IN PTR yul03s04-in-f14.1e100.net。
    -x 不是魔術。dig -x 172.217.13.174 只是對 174.13.217.172.in-addr.arpa. 做了一個 PTR 查詢。下面是如何在不使用 `-x’ 的情況下進行完全相同的反向 DNS 查詢。
     
    $ dig ptr 174.13.217.172.in-addr.arpa.
    174.13.217.172.in-addr.arpa. 72888 IN PTR yul03s04-in-f14.1e100.net。
    我總是使用 -x,因為它可以減少輸入。
     
    格式化響應的選項
    現在,讓我們討論一下你可以用來格式化響應的參數。
     
    我發現 dig 默認格式化 DNS 響應的方式對初學者來說是很難接受的。下面是輸出結果的樣子:
     
    ; <<>> DiG 9.16.20 <<>> -r jvns.ca
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28629
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
     
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: d87fc3022c0604d60100000061ab74857110b908b274494d (good)
    ;; QUESTION SECTION:
    ;jvns.ca.           IN  A
     
    ;; ANSWER SECTION:
    jvns.ca.        276 IN  A   172.64.80.1
     
    ;; Query time: 9 msec
    ;; SERVER: 192.168.1.1#53(192.168.1.1)
    ;; WHEN: Sat Dec 04 09:00:37 EST 2021
    ;; MSG SIZE  rcvd: 80
    如果你不習慣看這個,你可能需要花點時間來篩選,找到你要找的 IP 地址。而且大多數時候,你只對這個響應中的一行感興趣(jvns.ca. 180 IN A 172.64.80.1)。
     
    下面是我最喜歡的兩種方法,可以使 dig 的輸出更容易管理:
     
    方式 1 : +noall +answer
    這告訴 dig 只打印 DNS 響應中的“答案”部分的內容。下面是一個查詢 google.com 的 NS 記錄的例子:
     
    $ dig +noall +answer ns google.com
    google.com.     158564  IN  NS  ns4.google.com.
    google.com.     158564  IN  NS  ns1.google.com.
    google.com.     158564  IN  NS  ns2.google.com.
    google.com.     158564  IN  NS  ns3.google.com.
    這里的格式是:
     
    NAME         TTL            TYPE   CONTENT
    google.com   158564   IN    NS     ns3.google.com.
    順便說一下:如果你曾經想知道 IN 是什么意思,它是指“查詢類”,代表“互聯網internet”。它基本上只是上世紀 80、90 年代的遺物,當時還有其他網絡與互聯網競爭,如“混沌網絡chaosnet”。
     
    方式 2:+short
    這就像 dig +noall +answer,但更短:它只顯示每條記錄的內容。比如說:
     
    $ dig +short ns google.com
    ns2.google.com.
    ns1.google.com.
    ns4.google.com.
    ns3.google.com.
    你可以在 digrc 中設置格式化選項
    如果你不喜歡 dig 的默認格式(我就不喜歡?。?,你可以在你的主目錄下創建一個 .digrc 文件,告訴它默認使用不同的格式。
     
    我非常喜歡 +noall +answer 格式,所以我把 +noall +answer 放在我的 ~/.digrc 中。下面是我使用該配置文件運行 dig jvns.ca 時的情況。
     
    $ dig jvns.ca
    jvns.ca.        255在172.64.80.1中
    這樣讀起來就容易多了!
     
    如果我想回到所有輸出的長格式(我有時會這樣做,通常是因為我想看響應的權威部分的記錄),我可以通過運行再次得到一個長答案。
     
    $ dig +all jvns.ca
    dig +trace
    我使用的最后一個 dig 選項是 +trace。dig +trace 模仿 DNS 解析器在查找域名時的做法 —— 它從根域名服務器開始,然后查詢下一級域名服務器(如 .com),以此類推,直到到達該域名的權威域名服務器。因此,它將進行大約 30 次 DNS 查詢。(我用 tcpdump 檢查了一下,對于每個根域名服務器的 A / AAAA 記錄它似乎要進行 2 次查詢,所以這已經是 26 次查詢了。我不太清楚它為什么這樣做,因為它應該已經有了這些 IP 的硬編碼,但它確實如此。)
     
    我發現這對了解 DNS 的工作原理很有用,但我不認為我用它解決過問題。

    (編輯:錯新網)

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    一级特黄大片欧美久久久久_一本一道久久综合狠狠老_JLZZ日本人年轻护士_欧美男男作爱VIDEOS可播放
      <em id="hanht"></em>

      <dd id="hanht"></dd>

      <em id="hanht"><acronym id="hanht"></acronym></em>
      
      <button id="hanht"></button>
      <rp id="hanht"><object id="hanht"><blockquote id="hanht"></blockquote></object></rp><em id="hanht"></em>