כיצד אוכל לפתור שם מארח לכתובת IP בסקריפט Bash?

How Can I Resolve Hostname An Ip Address Bash Script



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

במאמר זה נסביר כיצד לפתור שם מארח/שם דומיין לכתובת IPv4 ו- IPv6 בסקריפט Bash. עם זאת, לפני שנמשיך ביצירת התסריט, הבה נסקור כמה מהפקודות שניתן להשתמש בהן כדי לפתור את שם המארח/שם הדומיין לכתובת IP.







פינג

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



$פינגיעד-מארח



Nslookup

Nslookup נמצא בשימוש נרחב לפתרון שם המארח לכתובת IP. על מנת להשתמש בפקודה זו לחיפוש IP, השתמש בתחביר הבא:





$יעד-מארח nslookup

מנחה

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



$מארח יעד-מארח

אתה

Dig הוא כלי שימושי נוסף לשורת הפקודה המשמש לשאילתות של רשומות שונות הקשורות ל- DNS. ניתן להשתמש בה כדי למצוא כתובת IP כנגד כל שם מארח/שם תחום. השתמש בפקודת Dig בדרך הבאה כדי למצוא כתובת IP נגד שם מארח/שם תחום ספציפי.

$אתהיעד-מארח +קצר

סקריפט Bash לפתרון שם מארח לכתובת IP

על מנת להשתמש בסקריפט bash לחיפוש IP, בצע את השלבים הבאים:

  1. צור קובץ bash באמצעות כל עורך טקסט. כאן אשתמש בעורך ננו ליצירת תסריט בשם iplookup.sh .$סודו ננוscript.sh
  1. העתק והדבק את השורות הבאות בקובץ הסקריפט שלך. שים לב, כאן בסקריפט זה, אני מציין את שרת ה- DNS הציבורי של Google לחיפוש IP. תוכל לציין כל שרת DNS אחר בהתאם לסביבתך.# ציין שרת DNS
    dnsserver='8.8.8.8'
    פונקציה # לקבל כתובת IP
    פוּנקצִיָהget_ipaddr{
    כתובת ה - IP=''
    # רשומה A ו- AAA עבור IPv4 ו- IPv6, בהתאמה
    # $ 1 מייצג טיעון ראשון
    אם [ -n '$ 1' ];לאחר מכן
    שם מארח='$ {1}'
    אם [ -עם 'סוג שאילתה' ];לאחר מכן
    סוג שאילתה='ל'
    לִהיוֹת
    # השתמש בפקודת מארח לפעולות חיפוש DNS
    מנחה $ {query_type} $ {hostname} &> /dev/ריק$ {dnsserver}
    אם [ '$?' -משווה '0' ];לאחר מכן
    # קבל כתובת IP
    כתובת ה - IP='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; יציאה}')'
    אַחֵר
    יְצִיאָה 1
    לִהיוֹת
    אַחֵר
    יְצִיאָה 2
    לִהיוֹת
    # ip תצוגה
    זרק $ ip_address
    }
    שם מארח='$ {1}'
    לשאילתאב 'A-IPv4' 'AAAA-IPv6';לַעֲשׂוֹת
    סוג שאילתה='$ (שאילתה printf $ | גזור -d- -f 1)'
    ipversion='$ (שאילתה printf $ | גזור -d- -f 2)'
    כתובת='$ (get_ipaddr $ {hostname})'
    אם [ '$?' -משווה '0' ];לאחר מכן
    אם [ -n '$ {address}' ];לאחר מכן
    זרק $ {ipversion}כתובת שם המארח$ {hostname}הוא:כתובת $'
    לִהיוֹת
    אַחֵר
    זרק 'התרחשה שגיאה'
    לִהיוֹת
    בוצע
  2. לאחר שתסיים, השתמש ב- Ctrl+O ו- Ctrl+X כדי לשמור ולצאת מהקובץ בהתאמה.
  3. כעת כדי למצוא כתובת IP נגד שם מארח/שם תחום ממוקד, הפעל את הסקריפט באמצעות התחביר הבא:$./script.sh יעד-מארח

    לדוגמה, כדי לפתור את כתובת ה- IP של google.com, הפקודה תהיה:

    $./iplookup.sh google.com

    הפלט יהיה דומה לזה:

    באופן דומה, לפתרון כתובת ה- IP של yahoo.com, הפקודה תהיה:

    $./iplookup.sh yahoo.com

    הפלט יהיה דומה לזה:

    זה כל מה שיש בו! במאמר זה למדנו לפתור את שם המארח לכתובת IPv4 ו- IPv6 באמצעות סקריפט bash. למדנו גם כמה כלי שורת פקודה אחרים כגון Ping, Nslookup, Host ו- Dig שניתן להשתמש בהם לביצוע חיפוש IP.