Kā es varu atrisināt resursdatora nosaukumu uz IP adresi Bash skriptā?

How Can I Resolve Hostname An Ip Address Bash Script



Katrai TCP/IP tīkla sistēmai ir piešķirts unikāls identifikators, kas pazīstams kā IP adrese, kas palīdz to savienot ar citu tīkla sistēmu un visu internetu. Visām vietnēm, kurām piekļūstat internetā, ir arī unikālas IP adreses. Tā kā ikvienam ir grūti atcerēties šo vietņu IP adreses, nāk DNS sistēma, kas palīdz šīs grūti atceramās IP adreses pārvērst cilvēkam lasāmos nosaukumos. Izmantojot DNS, jums vairs nav jāatceras IP adreses. Tā vietā jums vienkārši jāatceras domēna nosaukums un viss ir izdarīts. Patiesībā, uz nodrošinājuma, DNS serveris uzņem saimniekdatora nosaukumu un atrisina to līdz IP adresei, ar kuru pārlūks vai lietojumprogramma pēc tam izveido savienojumu.

Šajā rakstā mēs izskaidrosim, kā Bash skriptā atrisināt saimniekdatora nosaukumu/domēna nosaukumu uz IPv4 un IPv6 adresi. Tomēr, pirms turpināt skripta izveidi, pārskatīsim dažas komandas, kuras var izmantot, lai resursdatora/domēna nosaukumu atrisinātu līdz IP adresei.







Ping

Ping ir vienkāršākais un iebūvētais rīks, kas pieejams gandrīz visās operētājsistēmās. To izmanto, lai pārbaudītu resursdatora sasniedzamību tīklā. Tomēr mēs to varam izmantot, lai atrastu IP adresi pret jebkuru resursdatora/domēna nosaukumu. Izmantojiet šo sintaksi, lai atrastu mērķa resursdatora/domēna nosaukuma IP adresi:



$pingmērķa saimnieks



Nslookup

Nslookup tiek plaši izmantots, lai resursdatora nosaukumu atrisinātu līdz IP adresei. Lai izmantotu šo komandu IP meklēšanai, izmantojiet šādu sintaksi:





$nslookup mērķa saimnieks

Saimnieks

Citu komandrindas utilītas resursdatoru var izmantot, lai atrastu IP adresi pret jebkuru resursdatora nosaukumu/domēna nosaukumu. Lai izmantotu šo komandu, izmantojiet šādu sintaksi:



$saimnieks mērķa saimnieks

Jūs

Dig ir vēl viens noderīgs komandrindas rīks, ko izmanto, lai vaicātu dažādus ar DNS saistītus ierakstus. To var izmantot, lai atrastu IP adresi pret jebkuru resursdatora/domēna nosaukumu. Izmantojiet komandu Dig, lai atrastu IP adresi pret konkrētu saimniekdatora nosaukumu/domēna nosaukumu.

$jūsmērķa saimnieks +īss

Bash skripts, lai resursdatora nosaukumu atrisinātu līdz IP adresei

Lai IP meklēšanai izmantotu bash skriptu, rīkojieties šādi:

  1. Izveidojiet bash failu, izmantojot jebkuru teksta redaktoru. Šeit es izmantošu Nano redaktoru, lai izveidotu skriptu ar nosaukumu iplookup.sh .$sudo nanoskripts.sh
  1. Kopējiet un ielīmējiet šādas skripta faila rindas. Ņemiet vērā, ka šajā skriptā IP meklēšanai es norādu Google publisko DNS serveri. Jūs varat norādīt jebkuru citu DNS serveri atbilstoši savai videi.# Norādiet DNS serveri
    dnsserver=“8.8.8.8”
    # funkcija, lai iegūtu IP adresi
    funkcijuget_ipaddr{
    IP adrese=''
    # A un AAA ieraksts attiecīgi IPv4 un IPv6
    # $ 1 nozīmē pirmo argumentu
    ja [ -n '$ 1' ];tad
    saimniekdatora nosaukums='{1} USD'
    ja [ -Ar 'query_type' ];tad
    query_type='TO'
    būt
    # izmantojiet resursdatora komandu DNS uzmeklēšanas darbībām
    saimnieks-t $ {query_type} $ {hostname} &> /dev/null$ {dnsserver}
    ja [ '$?' -ekv '0' ];tad
    # iegūt IP adresi
    IP adrese='$ (resursdators -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
    citādi
    Izeja 1
    būt
    citādi
    Izeja 2
    būt
    # displeja ip
    izmest ārā $ ip_address
    }
    saimniekdatora nosaukums='{1} USD'
    priekšvaicājumsiekšā “A-IPv4” “AAAA-IPv6”;darīt
    query_type='$ (printf $ vaicājums | cut -d- -f 1)'
    ipversija='$ (printf $ vaicājums | cut -d- -f 2)'
    adrese='$ (get_ipaddr $ {hostname})'
    ja [ '$?' -ekv '0' ];tad
    ja [ -n '$ {address}' ];tad
    izmest ārā 'The$ {ipversion}saimniekdatora nosaukuma adrese$ {hostname}ir:$ adresi'
    būt
    citādi
    izmest ārā 'Notika kļūda'
    būt
    darīts
  2. Kad esat pabeidzis, izmantojiet Ctrl+O un Ctrl+X, lai attiecīgi saglabātu un izietu no faila.
  3. Tagad, lai atrastu IP adresi pret atlasītu saimniekdatora nosaukumu/domēna nosaukumu, palaidiet skriptu, izmantojot šādu sintaksi:$./script.sh target-host

    Piemēram, lai atrisinātu google.com IP adresi, komanda būtu šāda:

    $./iplookup.sh google.com

    Rezultāts būtu līdzīgs šim:

    Līdzīgi, lai atrisinātu yahoo.com IP adresi, komanda būtu šāda:

    $./iplookup.sh yahoo.com

    Rezultāts būtu līdzīgs šim:

    Tas arī viss! Šajā rakstā mēs esam iemācījušies atrisināt saimniekdatora nosaukumu uz IPv4 un IPv6 adresi, izmantojot bash skriptu. Mēs arī uzzinājām dažus citus komandrindas rīkus, piemēram, Ping, Nslookup, Host un Dig, kurus var izmantot, lai veiktu IP meklēšanu.