אנדרואיד

לחפור פקודה בלינוקס (בדיקת dns)

Kraulf DNS

Kraulf DNS

תוכן עניינים:

Anonim

Dig (Graper Information Domain) הוא כלי רב-עוצמה בשורת פקודה לשאילתת שרתי שמות DNS.

באמצעות פקודת dig תוכלו לשאול מידע על רשומות DNS שונות, כולל כתובות מארח, חילופי דואר ושרתי שמות. זהו הכלי הנפוץ ביותר בקרב מנהלי מערכות לפתרון בעיות ב- DNS בגלל הגמישות שלו וקלות השימוש בו.

במדריך זה, נראה לך כיצד להשתמש בכלי dig באמצעות דוגמאות מעשיות והסברים מפורטים על אפשרויות dig הנפוצות ביותר.

מתקין dig

כדי לבדוק אם פקודת dig זמינה בסוג המערכת שלך:

dig -v

הפלט צריך להיראות כך:

DiG 9.11.3-1ubuntu1.1-Ubuntu

אם dig אינה קיימת במערכת שלך, הפקודה שלמעלה תדפיס "dig: הפקודה לא נמצאה". אתה יכול להתקין בקלות את כלי dig באמצעות מנהל החבילות של ההפצה שלך.

התקן dig באובונטו ובדביאן

sudo apt update && sudo apt install dnsutils

התקן dig על CentOS ופדורה

sudo yum install bind-utils

התקן dig ב- Arch Linux

sudo pacman -S bind-tools

הבנת תפוקת החפירה

בצורתו הפשוטה ביותר, כשמשמשים לשאילתות על מארח (תחום) בודד ללא שום טיעונים נוספים, פקודת החפירה היא מילולית למדי.

בדוגמה הבאה נבצע שאילתה לאחזור מידע על תחום linux.org .

dig linux.org

הפלט צריך להיראות כך:

בוא נעבור קטע אחר קטע ונסביר את הפלט של פקודת dig :

  1. השורה הראשונה של הפלט מדפיסה את גרסת החפירה המותקנת ואת השאילתה שהוזמנה. השורה השנייה מציגה את האפשרויות הגלובליות (כברירת מחדל, רק cmd).

    ; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd

    החלק הראשון כולל פרטים טכניים על התשובה שהתקבלה מהרשות המבוקשת (שרת DNS). הכותרת מציגה את קוד ה- opcode (הפעולה שבוצעה על ידי dig) ואת מצב הפעולה. בדוגמה זו הסטטוס הוא NOERROR , מה שאומר שהרשות המבוקשת הגישה את השאילתה ללא כל בעיה.

    ;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5

    ניתן להסיר את החלק הזה באמצעות האפשרות +nocomments , שגם מבטלת את הכותרות של חלקים אחרים.

    קטע הפסאודו "OPT" מוצג כברירת מחדל רק בגירסאות החדשות יותר של כלי החפירה. תוכל לקבל מידע על מנגנוני ההרחבה של DNS (EDNS) כאן.

    ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096

    בקטע "שאלה" dig מציגה את השאילתה שלנו (שאלה). כברירת מחדל, dig מבקש את רשומת ה- A.

    ;; QUESTION SECTION:;linux.org. IN A

    אתה יכול להשבית את החלק הזה באמצעות האפשרות +noquestion .

    החלק "תשובה" מספק לנו תשובה לשאלתנו. כפי שכבר הזכרנו, כברירת מחדל dig תבקש את רשומת ה- A. כאן הדומיין linux.org מצביע על כתובת ה- IP 104.18.59.123 .

    ;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123

    בדרך כלל אינך רוצה לכבות את התשובה, אך אתה יכול להסיר קטע זה מהפלט באמצעות האפשרות +noanswer .

    החלק "רשות" מגלה לנו אילו שרתים הם הרשות לענות על שאילתות DNS לגבי הדומיין השאילתי.

    ;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.

    אתה יכול להשבית את החלק הזה של הפלט באמצעות האפשרות +noauthority .

    החלק "נוסף" נותן לנו מידע על כתובות ה- IP של שרתי ה- DNS הסמכותיים המוצגים בסעיף הרשות.

    ;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82

    האפשרות +noadditional מבטלת את החלק הנוסף בתשובה.

    החלק האחרון של פלט החפירה כולל נתונים סטטיסטיים לגבי השאילתה.

    ;; Query time: 58 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: Fri Oct 12 11:46:46 CEST 2018;; MSG SIZE rcvd: 212

    אתה יכול להשבית את החלק הזה עם האפשרות +nostats .

הדפסת התשובה בלבד

ברוב המקרים, תרצה לקבל רק תשובה מהירה לשאילתת החפירות שלך.

1. קבל תשובה קצרה

כדי לקבל תשובה קצרה לשאילתה שלך, השתמש באפשרות +short :

dig linux.org +short

104.18.59.123 104.18.58.123

הפלט יכלול רק את כתובות ה- IP של רשומת ה- A.

2. קבל תשובה מפורטת

לקבלת תשובה מפורטת יותר, כבה את כל התוצאות באמצעות האפשרויות +noall ואז הפעל רק את סעיף התשובות עם אפשרות +answer .

dig linux.org +noall +answer

; <<>> DiG 9.13.3 <<>> linux.org +noall +answer;; global options: +cmd linux.org. 67 IN A 104.18.58.123 linux.org. 67 IN A 104.18.59.123

שרת שמות ספציפי לשאילתה

כברירת מחדל, אם לא צוין שרת שם, dig משתמש בשרתים המופיעים /etc/resolv.conf .

כדי לציין שרת שם נגדו יבוצע השאילתה, השתמש בסמל @ (at) ולאחריו כתובת ה- IP של שם השרת או שם המארח.

לדוגמה, לשאילתות בשרת השמות של גוגל (8.8.8.8) למידע על התחום linux.org היית משתמש בה:

dig linux.org @8.8.8.8

; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux.org. IN A;; ANSWER SECTION: linux.org. 299 IN A 104.18.58.123 linux.org. 299 IN A 104.18.59.123;; Query time: 54 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Fri Oct 12 14:28:01 CEST 2018;; MSG SIZE rcvd: 70

שאילתת סוג רשומה

Dig מאפשר לך לבצע כל שאילתת DNS תקפה על ידי הוספת סוג הרשומה לסוף השאילתה. בחלק הבא נציג בפניכם דוגמאות לחיפוש הרשומות הנפוצות ביותר, כגון A (כתובת ה- IP), CNAME (שם קנוני), TXT (רשומת טקסט), MX (מחליף דואר) ו- NS (שרתי שמות).

1. שאילתות רשומות

כדי לקבל רשימה של כל הכתובות עבור שם תחום, השתמש באפשרות:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

כפי שאתה כבר יודע, אם לא נקבע סוג רשומת DNS לחפור תבקש את רשומת ה- A. אתה יכול גם לבצע שאילתות ברשומת A מבלי לציין את האפשרות.

2. שאילתות רשומות CNAME

כדי למצוא את שם הדומיין של הכינוי השתמש באפשרות cname :

dig +nocmd mail.google.com cname +noall +answer

mail.google.com. 553482 IN CNAME googlemail.l.google.com.

3. שאילתות רשומות TXT

השתמש באפשרות txt כדי לאחזר את כל רשומות ה- TXT עבור תחום ספציפי:

dig +nocmd google.com txt +noall +answer

google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"

4. שאילתות רשומות MX

כדי לקבל רשימה של כל שרתי הדואר עבור דומיין ספציפי השתמש באפשרות mx :

dig +nocmd google.com mx +noall +answer

google.com. 494 IN MX 30 alt2.aspmx.l.google.com. google.com. 494 IN MX 10 aspmx.l.google.com. google.com. 494 IN MX 40 alt3.aspmx.l.google.com. google.com. 494 IN MX 50 alt4.aspmx.l.google.com. google.com. 494 IN MX 20 alt1.aspmx.l.google.com.

5. רישומי NS לשאילתות

כדי למצוא את שרתי השמות הסמוכים לדומיין הספציפי שלנו השתמש באפשרות ns :

dig +nocmd google.com ns +noall +answer

google.com. 84527 IN NS ns1.google.com. google.com. 84527 IN NS ns2.google.com. google.com. 84527 IN NS ns4.google.com. google.com. 84527 IN NS ns3.google.com.

6. שאילתת כל הרשומות

השתמש באפשרות any כדי לקבל רשימה של כל רשומות ה- DNS עבור תחום ספציפי:

dig +nocmd google.com any +noall +answer

google.com. 299 IN A 216.58.212.14 google.com. 299 IN AAAA 2a00:1450:4017:804::200e google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns1.google.com. google.com. 599 IN MX 30 alt2.aspmx.l.google.com. google.com. 21599 IN NS ns4.google.com. google.com. 599 IN MX 50 alt4.aspmx.l.google.com. google.com. 599 IN MX 20 alt1.aspmx.l.google.com. google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 21599 IN CAA 0 issue "pki.goog" google.com. 599 IN MX 40 alt3.aspmx.l.google.com. google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 21599 IN NS ns3.google.com. google.com. 599 IN MX 10 aspmx.l.google.com. google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60

בדיקת DNS הפוכה

לשאילתת שם המארח המשויך לכתובת IP ספציפית השתמש באפשרות -x .

לדוגמה, כדי לבצע בדיקה הפוכה בתאריך 208.118.235.148 היית משתמש ב:

dig -x 208.118.235.148 +noall +answer

כפי שאתה יכול לראות מהפלט שמתחת לכתובת IP 208.118.235.148 משויך לשם המארח wildebeest.gnu.org .

; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer;; global options: +cmd 148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.

שאילתות בתפוצה רחבה

בדוגמה הבאה אנו שואלים את הדומיינים המופיעים בקובץ domains.txt .

domains.txt

lxer.com linuxtoday.com tuxmachines.org

dig -f domains.txt +short

108.166.170.171 70.42.23.121 204.68.122.43

קובץ ה-.digrc

ניתן לשלוט על התנהגות פקודת החפירה על ידי הגדרת אפשרויות למשתמש למשתמש בקובץ ${HOME}/.digrc .

אם קובץ ה- .digrc קיים בספריית הבית של המשתמש, האפשרויות שצוינו בו מיושמות לפני טיעוני שורת הפקודה.

לדוגמה, אם ברצונך להציג רק את פרק התשובות, פתח את עורך הטקסט וצור את קובץ ~/.digrc :

~ /.digrc

+nocmd +noall +answer

סיכום

dig הוא כלי בשורת פקודה לשאילתת מידע DNS ולפתרון בעיות הקשורות ל- DNS.

לחפור מסוף