وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟

0 9
زمان لازم برای مطالعه: 3 دقیقه


به هر سیستم در یک شبکه TCP/IP یک شناسه منحصربه‌فرد به نام آدرس IP اختصاص داده می‌شود که به اتصال آن با سایر سیستم‌های شبکه و سراسر اینترنت کمک می‌کند. تمام وب سایت هایی که به آنها دسترسی دارید روی اینترنت همچنین دارای آدرس های IP منحصر به فرد است. از آنجایی که به خاطر سپردن آدرس‌های IP این وب‌سایت‌ها برای همه دشوار است، سیستم DNS ارائه می‌شود که به ترجمه این آدرس‌های IP سخت به یاد آوردن به نام‌های قابل خواندن برای انسان کمک می‌کند. با DNS، دیگر نیازی نیست آدرس های IP را به خاطر بسپارید. در عوض، فقط باید نام دامنه را به خاطر بسپارید و همه چیز تمام شده است. در حقیقت، روی سرور DNS نام میزبان را می گیرد و آن را به یک آدرس IP که مرورگر یا برنامه به آن متصل می شود، حل می کند.

در این مقاله، روش حل و فصل نام میزبان/نام دامنه به آدرس IPv4 و IPv6 در اسکریپت Bash را توضیح خواهیم داد. با این حال، قبل از ایجاد اسکریپت، اجازه دهید برخی از دستوراتی را که می توان برای حل نام میزبان/نام دامنه به آدرس IP استفاده کرد، مرور کنیم.

پینگ کنید

پینگ ساده ترین و داخلی ترین ابزار موجود است روی تقریبا تمام سیستم عامل ها برای بررسی دسترس پذیری a استفاده می شود host در یک شبکه با این حال، ما همچنین می توانیم از آن برای یافتن آدرس IP در برابر هر نام میزبان/نام دامنه استفاده کنیم. از دستور زیر برای پیدا کردن آدرس IP یک نام میزبان/نام دامنه مورد نظر استفاده کنید:

$ پینگ هدف-host

چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟

Nslookup

Nslookup به طور گسترده ای برای حل نام میزبان به آدرس IP استفاده می شود. برای استفاده از این دستور برای جستجوی IP، از دستور زیر استفاده کنید:

$ هدف nslookup-host

چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟

میزبان

یکی دیگر command-line سودمند ”host” می تواند برای یافتن آدرس IP در برابر هر نام میزبان/نام دامنه استفاده شود. برای استفاده از این دستور از سینتکس زیر استفاده کنید:

$ host هدف-host

چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟

حفر کردن

Dig یکی دیگر از ابزارهای مفید خط فرمان است که برای پرس و جو از رکوردهای مرتبط با DNS استفاده می شود. می توان از آن برای یافتن آدرس IP در برابر هر نام میزبان/نام دامنه استفاده کرد. از دستور Dig به روش زیر برای پیدا کردن یک آدرس IP در برابر یک نام میزبان/نام دامنه خاص استفاده کنید.

$ حفر کردن هدف-host +کوتاه

چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟

اسکریپت Bash برای حل یک نام میزبان به یک آدرس IP

به منظور استفاده از bash اسکریپت برای جستجوی IP، مراحل زیر را دنبال کنید:

  1. ایجاد یک bash فایل با استفاده از هر ویرایشگر متنی در اینجا من از ویرایشگر نانو برای ایجاد یک اسکریپت با نام ” استفاده خواهم کرد.iplookup.sh“.
    $ sudo نانو script.sh
  1. خطوط زیر را در فایل اسکریپت خود کپی پیست کنید. توجه داشته باشید که در اینجا در این اسکریپت، من سرور DNS عمومی گوگل را برای جستجوی IP مشخص می کنم. شما می توانید هر سرور DNS دیگری را مطابق با محیط خود تعیین کنید.
    # سرور DNS را مشخص کنید
    dnsserver=“8.8.8.8”
    # تابع برای دریافت آدرس IP
    تابع get_ipaddr {

    آدرس آی پی=“”

    رکورد # A و AAA برای IPv4 و IPv6 به ترتیب

    #$1 مخفف اولین آرگومان است

    اگر [ -n “$1” ]; سپس

    نام میزبان=${1}

    اگر [ -z “query_type” ]; سپس

    query_type=“آ”

    فی

    # استفاده کنید host فرمان برای عملیات جستجوی DNS

    host -t ${query_type} ${hostname} &>/توسعه دهنده/خالی ${dnsserver}

    اگر [ “$?” -eq “0” ]; سپس

    # آدرس IP را دریافت کنید

    آدرس آی پی=$(host -t ${query_type} ${hostname} ${dnsserver}| awk ‘/has.*آدرس/{print $NF; خروج}’)

    دیگر

    خروج 1

    فی

    دیگر

    خروج 2

    فی
    # نمایش ip

    echo $ip_address
    }
    نام میزبان=${1}
    برای پرس و جو که در “A-IPv4” “AAAA-IPv6”; انجام دادن

    query_type=$(printf $query | cut -d- -f 1)

    ipversion=$(printf $query | cut -d- -f 2)

    نشانی=$(get_ipaddr ${hostname})

    اگر [ “$?” -eq “0” ]; سپس

    اگر [ -n ${address} ]; سپس

    echo ${ipversion} آدرس نام میزبان ${hostname} است: آدرس $

    فی

    دیگر

    echo “خطایی رخ داد”

    فی
    انجام شده

  2. پس از اتمام، از Ctrl+O و Ctrl+X به ترتیب برای ذخیره و خروج از فایل استفاده کنید.
  3. اکنون برای پیدا کردن یک آدرس IP در برابر نام میزبان/نام دامنه هدفمند، اسکریپت را با استفاده از نحو زیر اجرا کنید:
    $ ./script.sh target-host

    به عنوان مثال، برای حل کردن آدرس IP “google.com”، دستور به صورت زیر خواهد بود:

    $ ./iplookup.sh google.com

    خروجی مشابه این خواهد بود: چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟

    به طور مشابه، برای حل کردن آدرس IP “yahoo.com”، دستور به صورت زیر خواهد بود:

    $ ./iplookup.sh yahoo.com

    خروجی مشابه این خواهد بود:چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟چگونه می توانم نام میزبان را به آدرس IP در اسکریپت Bash حل کنم؟

    این تمام چیزی است که در مورد آن وجود دارد! در این مقاله، ما یاد گرفتیم که نام میزبان را به آدرس IPv4 و IPv6 با استفاده از a حل کنیم bash اسکریپت چیزهای دیگر را هم یاد گرفتیم command-line ابزارهایی مانند Ping، Nslookup، Host و Dig که می توانند برای انجام جستجوی IP استفاده شوند.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 12:41:04

امتیاز شما به این مطلب
پیشنهاد می‌کنیم بخوانید:  روش اجرای دستورات از داخل اسکریپت شل
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید