כיצד להשתמש בפקודה dig ב-Linux

חלון מסוף מסוגנן במערכת לינוקס.

Fatmawati Achmad Zaenuri/Shutterstock



ה-Linux |_+_| הפקודה מאפשרת לך לבצע שאילתות בשרתי DNS ולבצע חיפושי DNS. אתה יכול גם למצוא את הדומיין שכתובת ה-IP מובילה אליו. אנחנו נראה לך איך!

איך פועלת פיקוד החפירה

אנשים משתמשים ב-Linux |_+_| פקודה לשאילתה מערכת שמות מתחם (DNS) שרתים. |_+_| הוא ראשי תיבות של תחום מידע גרופר . עם |_+_|, אתה יכול לשאול שרתי DNS מידע לגבי רשומות DNS שונות, כולל כתובות מארח, חילופי דואר, שרתי שמות ומידע קשור. זה נועד להיות כלי לאבחון בעיות DNS. עם זאת, אתה יכול להשתמש בו כדי לחטט וללמוד יותר על DNS, שהיא אחת המערכות המרכזיות ששומרות על תעבורת ניתוב האינטרנט.





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

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



אם שרת ה-DNS קיבל לאחרונה את אותה בקשה ממישהו אחר באותו מחשב, ייתכן שהתשובה נמצאת בפנים שֶׁלָה מטמון. אם זה המקרה, זה פשוט שולח את אותו מידע בחזרה לתוכנית שלך.

אם שרת מבשר ה-DNS אינו יכול לאתר את הדומיין במטמון שלו, הוא יוצר קשר עם DNS שרת שמות שורש . שרת שורש לא יכיל את המידע הנדרש כדי לפתור שמות דומיין לכתובות IP, אבל הוא יכיל רשימות של שרתים שיכולים לעזור עם הבקשה שלך.

פרסומת

שרת השורש מסתכל על דומיין ברמה העליונה שאליו שייך שם הדומיין שלך, כגון COM, .ORG, .CO.UK וכן הלאה. לאחר מכן הוא שולח רשימה של שרתי הדומיין ברמה העליונה המטפלים בסוגים אלה של דומיינים בחזרה לשרת מבשר ה-DNS. שרת מבשר ה-DNS יכול לאחר מכן לשלוח את בקשתו פעם נוספת, לשרת דומיין ברמה העליונה.



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

מתקין אותך

|_+_| כבר הותקן במחשבי Ubuntu 18.04 ו-Fedora 30 שלנו. עם זאת, היינו צריכים להתקין אותו במחשב Manjaro 18.04 עם הפקודה הבאה:

dig

תחילת העבודה עם חפירה

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

אנו משתמשים ב-|_+_| אפשרות שאילתה, כפי שמוצג להלן, שנותנת לנו תגובה קצרה:

dig

כל כתובות ה-IP המשויכות לדומיין howtogeek.com רשומות עבורנו. בקצה השני של הספקטרום, אם אנחנו לא השתמש ב-|_+_| אפשרות שאילתה, הפלט הוא די מילולי.

פרסומת

אז, אנו מקלידים את הדברים הבאים כדי להעביר אותו דרך |_+_|:

dig

הפלט מוצג ב-|_+_|, כפי שמוצג להלן.

הנה הרשימה המלאה:

dig

בואו ננתח את זה חלק אחר חלק.

כּוֹתֶרֶת

ראשית, בואו נסתכל על שיש לנו בכותרת:

dig

עכשיו, הנה המשמעות של כל זה:

    שורה ראשונה:הגרסה של |_+_| והדומיין שנשאל. אפשרויות גלובליות:כפי שנראה, אתה יכול להשתמש ב-|_+_| לבצע שאילתות על מספר דומיינים בו זמנית. שורה זו מציגה את האפשרויות שהוחלו על כל שאילתות התחום. בדוגמה הפשוטה שלנו, זה היה רק ​​ברירת המחדל |_+_| אפשרות (פקודה). Opcode: שאילתה:זהו סוג הפעולה שהתבקשה, במקרה זה, הייתה |_+_|. ערך זה יכול להיות גם |_+_| עבור שאילתה הפוכה, או |_+_| אם אתה רק בודק את מצב מערכת ה-DNS. סטטוס: לא שגיאה:לא היו שגיאות והבקשה נפתרה כהלכה. מזהה: 12017: מזהה אקראי זה קושר את הבקשה והתגובה יחד. דגלים: qr rd ra:אלה מייצגים |_+_|, |_+_| ו-|_+_|. רקורסיה היא צורה אחת של בדיקת DNS (השנייה היא איטרטיבית). ייתכן שתראה גם |_+_|, אשר מייצג תשובה סמכותית, כלומר שרת שמות סמכותי סיפק את התגובה. שאילתה: 1:מספר השאילתות בסשן הזה, שהיה אחד. תשובה: 4:מספר התשובות בתגובה זו, שהוא ארבע. סמכות: 0:מספר התשובות שהגיע משרת שמות סמכותי, שהיה אפס במקרה זה. התגובה הוחזרה מהמטמון של שרת מבשר DNS. לא יהיה סעיף סמכותי בתגובה. נוסף: 1:יש מידע נוסף אחד. (באופן מוזר, שום דבר אינו רשום אלא אם כן הערך הזה הוא שניים או גבוה יותר.)

בחר פסאודוסקציה

לאחר מכן, אנו רואים את הדברים הבאים ב-Opt Pseudosection:

+short

בוא נפרק את זה:

מדור שאלות

בסעיף השאלות, אנו רואים את הדברים הבאים:

+short

הנה המשמעות של זה:

    howtogeek.com:שם הדומיין שאנו מבקשים. IN:אנחנו עורכים שאילתה בכיתה באינטרנט. ל:אלא אם נציין אחרת, |_+_| יבקש רשומת A (כתובת) משרת ה-DNS.

סעיף תשובות

קטע התשובה מכיל את ארבע התשובות הבאות שקיבלנו משרת ה-DNS:

less

הנה המשמעות של התשובות האלה:

    3551:זהו הזמן לחיות (TTL), מספר שלם בסימן 32 סיביות המחזיק את מרווח הזמן שעבורו ניתן לאחסן רשומה במטמון. כאשר תוקפו יפוג, יש להשתמש בנתונים בתשובה לבקשה עד לרענון על ידי שרת ה-DNS. IN:עשינו שאילתה בכיתה באינטרנט. ל:ביקשנו רשומת A משרת ה-DNS.

מדור סטטיסטיקה

סטטיסטיקה היא החלק האחרון, והיא מכילה את המידע הבא:

less

הנה מה שיש לנו:

    זמן שאילתה: 0 msec:הזמן שלקח לקבל את התגובה. שרת: 127.0.0.53#53(127.0.0.53):כתובת ה-IP ומספר היציאה של שרת ה-DNS שהגיב. במקרה זה, זה מצביע על פותר בדל המטמון המקומי. זה מעביר בקשות DNS לאיזה שרתי DNS במעלה הזרם מוגדרים. במחשב הבדיקה של Manajro, הכתובת הרשומה כאן הייתה 8.8.8.8#53, כלומר שירות ה-DNS הציבורי של גוגל . מתי: יום ראשון 22 במרץ 07:44:37 EDT 2020:כאשר הוגשה הבקשה. MSG SIZE rcvd: 106:גודל ההודעה שהתקבלה משרת ה-DNS.

להיות סלקטיבי

אתה לא צריך להסתפק בשני הקצוות של קמצני שפתיים וקשקושים. ה- |_+_| הפקודה מאפשרת לך לכלול או לא לכלול חלקים מהתוצאות באופן סלקטיבי.

אפשרויות השאילתה הבאות יסירו את הקטע הזה מהתוצאות:

    +אין הערות:אל תראה שורות הערות. +אין רשות:אל תראה את סעיף הסמכות. +לא נוסף:אל תציג את הקטע הנוסף. + נוסטטים:אל תראה את קטע הנתונים הסטטיסטיים. +אין תשובה:אל תראה את קטע התשובות. + נואל:אל תראה כלום!
פרסומת

ה- |_+_| אפשרות השאילתה משולבת בדרך כלל עם אחת מאלה שלמעלה כדי לכלול קטע בתוצאות. לכן, במקום להקליד מחרוזת ארוכה של אפשרויות שאילתה כדי לכבות מקטעים מרובים, אתה יכול להשתמש |_+_| כדי לכבות את כולם.

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

    +הערות:הצג שורות הערה. +סמכות:הצג את סעיף הסמכות. +נוסף:הצג את החלק הנוסף. +סטטיסטיקות:הצג את קטע הנתונים הסטטיסטיים. +תשובה:הצג את קטע התשובות. +הכל:הראה הכל.

אנו מקלידים את הדברים הבאים כדי להגיש בקשה ולא לכלול את שורות ההערה:

dig

אם נשתמש ב-|_+_| אפשרות שאילתה בפני עצמה, כפי שמוצג להלן, לא נקבל שום פלט שימושי:

dig

אנו יכולים להוסיף באופן סלקטיבי את הקטעים שאנו רוצים לראות. כדי להוסיף את קטע התשובות, נקליד את הדברים הבאים:

+cmd

אם נקליד את הדברים הבאים כדי להפעיל את |_+_|, נראה גם את קטע הנתונים הסטטיסטיים:

query

פרסומת

ה- |_+_| שילוב משמש לעתים קרובות. ניתן להוסיף קטעים אחרים לשורת הפקודה לפי הצורך. אם אתה רוצה להימנע מהקלדת |_+_| בשורת הפקודה בכל פעם שאתה משתמש ב-|_+_|, אתה יכול לשים אותם בקובץ תצורה בשם .digrc. זה ממוקם בספריית הבית שלך.

אנו מקלידים את הדברים הבאים כדי ליצור אחד עם |_+_| :

iquery

לאחר מכן נוכל להקליד את הדברים הבאים כדי לבדוק את תוכנו:

status

שתי האפשרויות הללו יחולו כעת על כל השימושים העתידיים ב-|_+_|, כפי שמוצג להלן:

query recursion desired recursion available

זה |_+_| קובץ התצורה יהיה בשימוש עבור הדוגמאות הנותרות במאמר זה.

רשומות DNS

המידע הוחזר אל |_+_| שלך בקשות נשלפות מסוגים שונים של רשומות המוחזקים בשרת ה-DNS. אלא אם כן נבקש משהו אחר, |_+_| שואל את רשומת A (כתובת). להלן סוגי הרשומות הנפוצות עם |_+_|:

    הקלטה:מקשר את הדומיין לכתובת IP גרסה 4. רשומת MX:רשומות חילופי דואר מפנים מיילים שנשלחים לדומיינים לשרת הדואר הנכון. רשומת NS:רשומות שרת שמות מאצילות דומיין (או תת-דומיין) לקבוצה של שרתי DNS. רשומת TXT:רשומות טקסט מאחסנות מידע מבוסס טקסט לגבי הדומיין. בדרך כלל, הם עשויים לשמש כדי לדכא דוא'ל מזויף או מזויף. שיא SOA:רשומות תחילת הסמכות יכולות להכיל מידע רב על הדומיין. כאן, אתה יכול למצוא את שרת השמות הראשי, הגורם האחראי, חותמת זמן לשינויים, תדירות רענון האזור וסדרה של מגבלות זמן לניסיונות חוזרים ונטישה. TTL:זמן לחיות היא הגדרה עבור כל רשומת DNS שמציינת כמה זמן מותר לשרת מבשר DNS לשמור כל שאילתת DNS במטמון. כאשר הזמן הזה יפוג, יש לרענן את הנתונים עבור בקשות עוקבות. כל:זה אומר |_+_| כדי להחזיר כל סוג של רשומת DNS שהוא יכול.
פרסומת

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

AA

כדי לשאול את רשומות חילופי הדואר, אנו משתמשים בדגל ה-MX הבא:

dig

דגל שרת השמות מחזיר את השם הבא של שרתי שמות השורש המשויכים לדומיין ברמה העליונה:

dig

כדי לשאול את תחילת רשומת הסמכות, אנו מקלידים את דגל ה-SOA הבא:

+noall

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

אנו מקלידים את הדברים הבאים:

+noall

כדי לראות את רשומות הטקסט, נקליד את דגל ה-TX:

+noall

ציון שרת ה-DNS

אם אתה רוצה להשתמש בשרת DNS מסוים עבור הבקשה שלך, אתה יכול להשתמש בסימן ה-at (|_+_|) כדי להעביר אותו אל |_+_| כפרמטר שורת פקודה.

פרסומת

עם שרת ה-DNS המוגדר כברירת מחדל (ראה להלן), |_+_| מפנה לפותר בדל המטמון המקומי ב-127.0.0.53.

+stats

כעת, אנו מקלידים את הדברים הבאים כדי להשתמש בשרת ה-DNS הציבורי של גוגל ב-8.8.8.8:

+noall +answer

שימוש בחפירה עם מספר דומיינים

אנו יכולים להעביר דומיינים מרובים אל |_+_| בשורת הפקודה, כפי שמוצג להלן:

+noall +answer

אם אתה בודק באופן קבוע קבוצה של דומיינים, אתה יכול לאחסן אותם בקובץ טקסט ולהעביר אותו אל |_+_|. כל הדומיינים בקובץ ייבדקו בתורם.

הקובץ שלנו נקרא domains.txt. נשתמש ב-|_+_| כדי להציג את תוכנו ולאחר מכן להעביר אותו אל |_+_| עם ה- |_+_| אפשרות (קובץ). אנו מקלידים את הדברים הבאים:

dig echo

חיפושי DNS הפוכים

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

פרסומת

אם אתה יכול תלוי בנוכחות של PTR (רשומה מצביע). PTRs פותרים כתובת IP ל-a שם דומיין מלא . עם זאת, מכיוון שאלו אינם חובה, הם לא תמיד קיימים בדומיין.

בואו נראה אם ​​נוכל לגלות לאן כתובת ה-IP 209.51.188.148 לוקחת אותנו. אנו מקלידים את הדברים הבאים, תוך שימוש בסימן |_+_| אפשרות (חיפוש הפוך):

dig

Presto! כתובת ה-IP נפתרת ל-gnu.org.

מכיוון ש-PTR הוא רשומת DNS, ואנחנו יודעים |_+_| יכול לבקש רשומות DNS שצוינו, האם לא יכולנו פשוט לשאול |_+_| לאחזר את ה-PTR עבורנו? כן, אנחנו יכולים, אבל זה דורש קצת יותר עבודה.

עלינו לספק את כתובת ה-IP בסדר הפוך ולהדביק |_+_| בסוף, כפי שמוצג להלן:

dig

פרסומת

אנחנו מקבלים את אותה תוצאה; זה רק לקח קצת יותר מאמץ.

האם אתה יכול לחפור בזה?

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

פקודות לינוקס
קבצים זֶפֶת · pv · חתול · טק · chmod · אחיזה · הבדל · sed · עם · איש · דחף · popd · fsck · testdisk · seq · fd · פנדוק · CD · $PATH · מביך · לְהִצְטַרֵף · jq · לְקַפֵּל · ייחודי · journalctl · זָנָב · מדינה · ls · fstab · זרק · פָּחוּת · chgrp · chown · לְהַאִיץ · תראה · מחרוזות · סוּג · לשנות שם · רוכסן · לִפְתוֹחַ · הר · umount · להתקין · fdisk · mkfs · rm · rmdir · rsync · df · gpg · אָנוּ · ננו · mkdir · מ · ב · תיקון · להמיר · rclone · שמץ · SRM
תהליכים כינוי · מָסָך · חלק עליון · נֶחְמָד · נחמדים · התקדמות · רצועה · מערכת · tmux · chsh · הִיסטוֹרִיָה · בְּ- · קבוצה · חינם · איזה · dmesg · usermod · נ.ב · chroot · xargs · tty · זרת · lsof · vmstat · פסק זמן · קִיר · כן · לַהֲרוֹג · לִישׁוֹן · סודו · שֶׁלוֹ · זְמַן · הוספה קבוצתית · usermod · קבוצות · לשוו · לכבות · לְאַתחֵל · תפסיק · כיבוי · passwd · lscpu · crontab · תַאֲרִיך · bg · fg
רשת netstat · פינג · traceroute · ip · ss · מי זה · fail2ban · bmon · אתה · אֶצבַּע · nmap · ftp · סִלְסוּל · wget · מי · מי אני · ב · iptables · ssh-keygen · ufw

קָשׁוּר: מחשבי Linux הטובים ביותר למפתחים וחובבי

קרא את הבא תמונת פרופיל עבור דייב מקיי דייב מקיי
דייב מקיי השתמש לראשונה במחשבים כשסרט נייר מחורר היה באופנה, ומאז הוא מתכנת. לאחר למעלה מ-30 שנה בתעשיית ה-IT, הוא כעת עיתונאי טכנולוגיה במשרה מלאה. במהלך הקריירה שלו, הוא עבד כמתכנת עצמאי, מנהל צוות פיתוח תוכנה בינלאומי, מנהל פרויקטים של שירותי IT, ולאחרונה כמנהל הגנת מידע. הכתיבה שלו פורסמה על ידי howtogeek.com, cloudsavvyit.com, itenterpriser.com ו-opensource.com. דייב הוא אוונגליסט של לינוקס ותומך בקוד פתוח.
קרא את הביוגרפיה המלאה

מאמרים מעניינים