Kako lahko razrešim ime gostitelja na naslov IP v skriptu Bash?

How Can I Resolve Hostname An Ip Address Bash Script



Vsakemu sistemu v omrežju TCP/IP je dodeljen edinstven identifikator, znan kot naslov IP, ki ga pomaga povezati z drugim sistemom v omrežju in po vsem internetu. Vsa spletna mesta, do katerih dostopate v internetu, imajo tudi edinstvene naslove IP. Ker si vsi težko zapomnijo naslove IP teh spletnih mest, prihaja sistem DNS, ki pomaga pri prevajanju teh težko zapomljivih naslovov IP v imena, ki jih je mogoče brati. Z DNS vam ni treba več zapomniti naslovov IP. Namesto tega si morate zapomniti ime domene in vse opravljeno. Pravzaprav strežnik DNS pri podprtem vzame ime gostitelja in ga razreši na naslov IP, na katerega se brskalnik ali aplikacija nato poveže.

V tem članku bomo razložili, kako razrešiti ime gostitelja/ime domene na naslov IPv4 in IPv6 v skriptu Bash. Preden nadaljujemo z ustvarjanjem skripta, pa si oglejmo nekatere ukaze, s katerimi lahko razrešimo ime gostitelja/ime domene na naslov IP.







Ping

Ping je najbolj preprosto in vgrajeno orodje, ki je na voljo v skoraj vseh operacijskih sistemih. Uporablja se za preverjanje dosegljivosti gostitelja v omrežju. Lahko pa ga uporabimo tudi za iskanje naslova IP na katerem koli imenu gostitelja/domene. Z naslednjo skladnjo poiščite naslov IP ciljnega imena gostitelja/domene:



$pingcilj-gostitelj



Nslookup

Nslookup se pogosto uporablja za razrešitev imena gostitelja na naslov IP. Če želite ta ukaz uporabiti za iskanje IP, uporabite naslednjo skladnjo:





$nslookup target-host

Gostitelj

Za iskanje naslova IP proti poljubnemu imenu gostitelja/imenu domene lahko uporabite drugega gostitelja pripomočka ukazne vrstice. Če želite uporabiti ta ukaz, uporabite naslednjo skladnjo:



$gostitelja cilj-gostitelja

Ti

Dig je še eno uporabno orodje ukazne vrstice, ki se uporablja za poizvedovanje po različnih zapisih, povezanih z DNS. Z njim lahko poiščete naslov IP v poljubnem imenu gostitelja/domene. Uporabite ukaz Dig na naslednji način, da poiščete naslov IP za določeno ime gostitelja/ime domene.

$titarget-host +short

Bash skript za razrešitev imena gostitelja na naslov IP

Če želite uporabiti bash skript za iskanje IP, sledite spodnjim korakom:

  1. Ustvarite bash datoteko s katerim koli urejevalnikom besedil. Tukaj bom z urejevalnikom Nano ustvaril skript z imenom iplookup.sh .$sudo nanoscript.sh
  1. Kopirajte in prilepite naslednje vrstice v datoteko skripta. Upoštevajte, da tukaj v tem skriptu podajam Googlov javni strežnik DNS za iskanje IP. Določite lahko kateri koli drug strežnik DNS glede na vaše okolje.# Določite strežnik DNS
    dnsserver='8.8.8.8'
    # funkcija za pridobitev naslova IP
    funkcijoget_ipaddr{
    IP naslov=''
    # A in AAA zapis za IPv4 oziroma IPv6
    # $ 1 pomeni prvi argument
    če [ -n '1 USD' ];potem
    ime gostitelja='{1} USD'
    če [ -Z 'query_type' ];potem
    tip_poizvedbe='TO'
    biti
    # uporabite ukaz host za operacije iskanja DNS
    gostitelja-t $ {query_type} $ {hostname} &> /dev/nič$ {dnsserver}
    če [ '$?' -ekv '0' ];potem
    # dobite naslov ip
    IP naslov='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
    drugače
    izhod 1
    biti
    drugače
    izhod 2
    biti
    # display ip
    vrgel ven $ ip_address
    }
    ime gostitelja='{1} USD'
    zapoizvedbav 'A-IPv4' 'AAAA-IPv6';naredi
    tip_poizvedbe='$ (printf $ poizvedba | cut -d- -f 1)'
    iverzija='$ (printf $ poizvedba | cut -d- -f 2)'
    naslov='$ (get_ipaddr $ {hostname})'
    če [ '$?' -ekv '0' ];potem
    če [ -n '$ {naslov}' ];potem
    vrgel ven 'The$ {ipversion}naslov gostitelja$ {hostname}je:$ naslov'
    biti
    drugače
    vrgel ven 'Pojavila se je napaka'
    biti
    Končano
  2. Ko končate, uporabite Ctrl+O in Ctrl+X za shranjevanje in izhod iz datoteke.
  3. Zdaj, da poiščete naslov IP v primerjavi s ciljnim imenom gostitelja/domene, zaženite skript z naslednjo skladnjo:$./script.sh target-host

    Na primer, če želite razrešiti naslov IP google.com, bi bil ukaz naslednji:

    $./iplookup.sh google.com

    Izhod bi bil podoben temu:

    Podobno bi bil za razrešitev naslova IP spletnega mesta yahoo.com ukaz naslednji:

    $./iplookup.sh yahoo.com

    Izhod bi bil podoben temu:

    To je vse! V tem članku smo se naučili razrešiti ime gostitelja na naslov IPv4 in IPv6 s pomočjo skripta bash. Naučili smo se tudi nekaterih drugih orodij ukazne vrstice, kot so Ping, Nslookup, Host in Dig, ki jih je mogoče uporabiti za iskanje IP.