Kako mogu razriješiti naziv hosta na IP adresu u Bash skripti?

How Can I Resolve Hostname An Ip Address Bash Script



Svakom sustavu u TCP/IP mreži dodjeljuje se jedinstveni identifikator poznat kao IP adresa koji ga pomaže povezati s drugim sustavom na mreži i diljem interneta. Sve web stranice kojima pristupate na internetu također imaju jedinstvene IP adrese. Kako je svima teško zapamtiti IP adrese ovih web stranica, dolazi DNS sustav koji pomaže u prevođenju ovih teško zapamćenih IP adresa u imena čitljiva ljudima. S DNS -om više ne morate pamtiti IP adrese. Umjesto toga, morate samo zapamtiti naziv domene i sve učinjeno. Zapravo, na poslužitelju, DNS poslužitelj uzima naziv hosta i razrješava ga na IP adresu na koju se preglednik ili aplikacija zatim poveže.

U ovom ćemo članku objasniti kako razriješiti naziv hosta/naziv domene na IPv4 i IPv6 adresu u Bash skripti. Međutim, prije nego nastavimo s stvaranjem skripte, pregledajmo neke naredbe koje se mogu koristiti za razrješenje naziva hosta/naziva domene na IP adresu.







Ping

Ping je najjednostavniji i ugrađeni alat koji je dostupan na gotovo svim operativnim sustavima. Koristi se za provjeru dostupnosti hosta u mreži. Međutim, možemo ga koristiti i za pronalaženje IP adrese u odnosu na bilo koji naziv hosta/naziv domene. Upotrijebite sljedeću sintaksu za pronalaženje IP adrese ciljanog naziva hosta/naziva domene:



$pingcilj-domaćin



Nslookup

Nslookup se naširoko koristi za razrješavanje naziva hosta na IP adresu. Da biste koristili ovu naredbu za pretraživanje IP -a, upotrijebite sljedeću sintaksu:





$nslookup target-host

Domaćin

Drugi host pomoćnog programa naredbenog retka može se koristiti za pronalaženje IP adrese naspram bilo kojeg naziva hosta/naziva domene. Da biste koristili ovu naredbu, upotrijebite sljedeću sintaksu:



$host target-host

Vas

Dig je još jedan koristan alat naredbenog retka koji se koristi za postavljanje upita o različitim zapisima povezanim s DNS -om. Može se koristiti za pronalaženje IP adrese uz bilo koji naziv hosta/naziv domene. Pomoću naredbe Dig na sljedeći način pronađite IP adresu naspram određenog naziva hosta/naziva domene.

$vastarget-host +short

Bash skripta za razrješenje naziva hosta na IP adresu

Da biste koristili bash skriptu za pretraživanje IP -a, slijedite korake u nastavku:

  1. Izradite bash datoteku pomoću bilo kojeg uređivača teksta. Ovdje ću koristiti Nano editor za stvaranje skripte pod nazivom iplookup.sh .$sudo nanoskripta.sh
  1. Kopirajte i zalijepite sljedeće retke u datoteku skripte. Imajte na umu da ovdje u ovoj skripti navodim Googleov javni DNS poslužitelj za traženje IP -a. Možete navesti bilo koji drugi DNS poslužitelj prema vašem okruženju.# Odredite DNS poslužitelj
    dnsserver='8.8.8.8'
    # funkcija za dobivanje IP adrese
    funkcijaget_ipaddr{
    IP adresa=''
    # A i AAA zapis za IPv4 odnosno IPv6
    # $ 1 označava prvi argument
    ako [ -n '1 USD' ];zatim
    naziv hosta='{1} USD'
    ako [ -S 'tip_upita' ];zatim
    tip_upita='DO'
    biti
    # koristite naredbu host za operacije pretraživanja DNS -a
    domaćin-t $ {query_type} $ {hostname} &> /dev/null$ {dnsserver}
    ako [ '$?' -ekv '0' ];zatim
    # dobiti IP adresu
    IP adresa='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
    drugo
    Izlaz 1
    biti
    drugo
    Izlaz 2
    biti
    # display ip
    izbaciti $ ip_adresa
    }
    naziv hosta='{1} USD'
    zaupitu 'A-IPv4' 'AAAA-IPv6';čini
    tip_upita='$ (printf $ upit | izrezati -d- -f 1)'
    iverzija='$ (printf $ upit | izrezati -d- -f 2)'
    adresa='$ (get_ipaddr $ {hostname})'
    ako [ '$?' -ekv '0' ];zatim
    ako [ -n '$ {adresa}' ];zatim
    izbaciti 'The$ {ipversion}adresa imena hosta$ {hostname}je:$ adresa'
    biti
    drugo
    izbaciti 'Dogodila se pogreška'
    biti
    učinjeno
  2. Kad završite, upotrijebite Ctrl+O i Ctrl+X za spremanje i izlazak datoteke.
  3. Sada kako biste pronašli IP adresu u odnosu na ciljano ime hosta/naziv domene, pokrenite skriptu pomoću sljedeće sintakse:$./script.sh target-host

    Na primjer, za rješavanje IP adrese google.com naredba bi bila:

    $./iplookup.sh google.com

    Izlaz bi bio sličan ovome:

    Slično, za rješavanje IP adrese yahoo.com, naredba bi bila:

    $./iplookup.sh yahoo.com

    Izlaz bi bio sličan ovome:

    To je sve što treba! U ovom smo članku naučili razlučiti ime hosta na IPv4 i IPv6 adresu pomoću bash skripte. Naučili smo i neke druge alate naredbenog retka, kao što su Ping, Nslookup, Host i Dig koji se mogu koristiti za pretraživanje IP-a.