Kuidas ma saan Bash -skriptis hostinime IP -aadressiks lahendada?

How Can I Resolve Hostname An Ip Address Bash Script



Igale TCP/IP -võrgu süsteemile on määratud kordumatu identifikaator, mida tuntakse IP -aadressina, mis aitab ühendada selle võrgu teiste süsteemidega ja kogu Interneti kaudu. Kõigil Internetis juurdepääsetavatel veebisaitidel on ka unikaalsed IP -aadressid. Kuna kõigil on raske nende veebisaitide IP-aadresse meelde jätta, on saadaval DNS-süsteem, mis aitab need raskesti meeldejäävad IP-aadressid tõlkida inimestele loetavateks nimedeks. DNS -iga ei pea te enam IP -aadresse meeles pidama. Selle asemel peate lihtsalt mäletama domeeninime ja kõik tehtud. Tegelikult võtab DNS -server tagaküljel hostinime ja lahendab selle IP -aadressiks, millega brauser või rakendus seejärel ühendab.

Selles artiklis selgitame, kuidas lahendada hostinimi/domeeninimi Bash -skriptis IPv4- ja IPv6 -aadressiks. Enne skripti loomise jätkamist vaatame siiski läbi mõned käsud, mida saab kasutada hostinime/domeeninime IP -aadressiks muutmiseks.







Ping

Ping on kõige lihtsam ja sisseehitatud tööriist, mis on saadaval peaaegu kõigis operatsioonisüsteemides. Seda kasutatakse, et kontrollida võrgu hosti kättesaadavust. Siiski saame seda kasutada ka IP -aadressi leidmiseks mis tahes hostinime/domeeninime järgi. Sihitud hostinime/domeeninime IP -aadressi leidmiseks kasutage järgmist süntaksit:



$pingsiht-host



Nslookup

Nslookupit kasutatakse laialdaselt, et lahendada hosti nimi IP -aadressiks. Selle käsu kasutamiseks IP otsimisel kasutage järgmist süntaksi:





$nslookup target-host

Host

IP-aadressi leidmiseks mis tahes hostinime/domeeninime järgi saab kasutada mõnda muud käsurea utiliidi hosti. Selle käsu kasutamiseks kasutage järgmist süntaksi:



$host target-host

Sina

Dig on veel üks kasulik käsurea tööriist, mida kasutatakse erinevate DNS -iga seotud kirjete päringute tegemiseks. Seda saab kasutada IP -aadressi leidmiseks mis tahes hostinime/domeeninime järgi. Kasutage käsku Dig järgmisel viisil, et leida IP -aadress konkreetse hostinime/domeeninime järgi.

$sinasiht-host +lühike

Bash -skript, et lahendada hosti nimi IP -aadressiks

Bash -skripti kasutamiseks IP -otsinguks toimige järgmiselt.

  1. Looge bash -fail mis tahes tekstiredaktori abil. Siin kasutan nimega skripti loomiseks Nano redaktorit iplookup.sh .$sudo nanoscript.sh
  1. Kopeerige ja kleepige skriptifaili järgmised read. Pange tähele, et siin, selles skriptis, määran IP -otsinguks Google'i avaliku DNS -serveri. Saate määrata mis tahes muu DNS -serveri vastavalt oma keskkonnale.# Määrake DNS -server
    dnsserver=„8.8.8.8”
    # funktsioon IP -aadressi saamiseks
    funktsiooniget_ipaddr{
    IP-aadress=''
    # A- ja AAA -kirjed vastavalt IPv4 ja IPv6 jaoks
    # $ Tähistab esimest argumenti
    kui [ -n '$ 1' ];siis
    hostinimi='{1} dollarit'
    kui [ -Koos 'query_type' ];siis
    päringu_tüüp='TO'
    olla
    # kasutage DNS -i otsinguoperatsioonide jaoks hosti käsku
    võõrustaja-t $ {query_type} $ {hostname} &> /arendaja/null$ {dnsserver}
    kui [ '$?' -ekv '0' ];siis
    # saada ip -aadress
    IP-aadress='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
    muidu
    väljumine 1
    olla
    muidu
    väljumine 2
    olla
    # kuva ip
    viskas välja $ ip_address
    }
    hostinimi='{1} dollarit'
    eestpäringsisse „A-IPv4” „AAAA-IPv6”;teha
    päringu_tüüp='$ (printf $ päring | lõigatud -d- -f 1)'
    ipversioon='$ (printf $ päring | lõigatud -d- -f 2)'
    aadress='$ (get_ipaddr $ {hostname})'
    kui [ '$?' -ekv '0' ];siis
    kui [ -n '$ {address}' ];siis
    viskas välja 'The$ {ipversion}hostinime aadress$ {hostname}on:$ aadress'
    olla
    muidu
    viskas välja 'Ilmnes viga'
    olla
    tehtud
  2. Kui olete lõpetanud, kasutage faili salvestamiseks ja väljumiseks klahve Ctrl+O ja Ctrl+X.
  3. Nüüd, et leida sihitud hostinime/domeeninimega IP -aadress, käivitage skript järgmise süntaksi abil:$./script.sh target-host

    Näiteks google.com IP -aadressi lahendamiseks oleks käsk järgmine:

    $./iplookup.sh google.com

    Väljund oleks sarnane sellele:

    Samamoodi yahoo.com IP -aadressi lahendamiseks oleks käsk järgmine:

    $./iplookup.sh yahoo.com

    Väljund oleks sarnane sellele:

    See on kõik! Selles artiklis oleme õppinud lahendama hosti nime IPv4- ja IPv6 -aadressiks bash -skripti abil. Samuti õppisime mõningaid muid käsurea tööriistu, nagu Ping, Nslookup, Host ja Dig, mida saab kasutada IP-otsingu tegemiseks.