Kuinka voin ratkaista isäntänimen IP -osoitteeksi Bash -skriptissä?

How Can I Resolve Hostname An Ip Address Bash Script



Jokaiselle TCP/IP -verkon järjestelmälle on annettu yksilöllinen tunniste, joka tunnetaan nimellä IP -osoite, joka auttaa yhdistämään sen muihin verkon järjestelmiin ja koko Internetiin. Kaikilla Internetissä käyttämilläsi sivustoilla on myös ainutlaatuiset IP -osoitteet. Koska kaikkien on vaikea muistaa näiden verkkosivustojen IP-osoitteita, tulee DNS-järjestelmä, joka auttaa kääntämään nämä vaikeasti muistettavat IP-osoitteet ihmisten luettaviksi nimiksi. DNS: n avulla sinun ei enää tarvitse muistaa IP -osoitteita. Sen sijaan sinun on vain muistettava verkkotunnus ja kaikki tehty. Todellisuudessa DNS -palvelin ottaa taustalla palvelimen nimen ja ratkaisee sen IP -osoitteeseen, johon selain tai sovellus sitten muodostaa yhteyden.

Tässä artikkelissa selitämme, kuinka isäntänimi/verkkotunnus ratkaistaan ​​IPv4- ja IPv6 -osoitteiksi Bash -skriptissä. Ennen kuin aloitat komentosarjan luomisen, tarkista kuitenkin joitain komentoja, joita voidaan käyttää isäntänimen/toimialueen nimen ratkaisemiseen IP -osoitteeseen.







Ping

Ping on yksinkertaisin ja sisäänrakennettu työkalu, joka on saatavilla lähes kaikissa käyttöjärjestelmissä. Sitä käytetään varmistamaan isännän saavutettavuus verkossa. Voimme kuitenkin käyttää sitä myös IP -osoitteen etsimiseen mistä tahansa isäntänimestä/verkkotunnuksesta. Etsi kohdennetun isäntänimen/verkkotunnuksen IP -osoite seuraavalla syntaksilla:



$pingkohde-isäntä



Nslookup

Nslookupia käytetään laajalti isäntänimen ratkaisemiseen IP -osoitteeksi. Jos haluat käyttää tätä komentoa IP -haussa, käytä seuraavaa syntaksia:





$nslookup target-host

Isäntä

Toisella komentorivin apuohjelman isännällä voidaan löytää IP-osoite mitä tahansa isäntänimeä/toimialueen nimeä vastaan. Käytä tätä komentoa käyttämällä seuraavaa syntaksia:



$isäntä kohde-isäntä

Sinä

Dig on toinen hyödyllinen komentorivityökalu, jota käytetään eri DNS -tietueiden kyselyyn. Sitä voidaan käyttää IP -osoitteen löytämiseen mitä tahansa isäntänimeä/verkkotunnusta vastaan. Käytä Dig -komentoa seuraavalla tavalla löytääksesi IP -osoitteen tiettyä isäntänimeä/toimialueen nimeä vastaan.

$sinäkohde-isäntä +lyhyt

Bash -skripti isäntänimen ratkaisemiseksi IP -osoitteeksi

Jos haluat käyttää bash -komentosarjaa IP -haussa, toimi seuraavasti:

  1. Luo bash -tiedosto millä tahansa tekstieditorilla. Tässä aion käyttää Nano -editoria luomaan nimisen komentosarjan iplookup.sh .$sudo nanoscript.sh
  1. Kopioi ja liitä seuraavat rivit komentotiedostoosi. Huomaa, että tässä skriptissä määritän Googlen julkisen DNS -palvelimen IP -hakua varten. Voit määrittää minkä tahansa muun DNS -palvelimen ympäristön mukaan.# Määritä DNS -palvelin
    dnsserver='8.8.8.8'
    # -toiminto IP -osoitteen saamiseksi
    toimintoget_ipaddr{
    IP-osoite=''
    # A- ja AAA -tietue IPv4: lle ja IPv6: lle
    # $ 1 tarkoittaa ensimmäistä argumenttia
    jos [ -n $ 1 ];sitten
    isäntänimi=''{1} $''
    jos [ -Kanssa 'query_type' ];sitten
    query_type='TO'
    olla
    # käytä isäntäkomentoa DNS -hakutoiminnoissa
    isäntä-t $ {query_type} $ {hostname} &> /dev/tyhjä$ {dnsserver}
    jos [ '$?' -ekv '0' ];sitten
    # hanki ip -osoite
    IP-osoite=''$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')''
    muu
    poistua 1
    olla
    muu
    poistua 2
    olla
    # näyttö ip
    heitti pois $ ip_address
    }
    isäntänimi=''{1} $''
    vartenkyselysisään 'A-IPv4' 'AAAA-IPv6';tehdä
    query_type=''$ (printf $ kysely | leikkaa -d- -f 1)''
    ipversio=''$ (printf $ kysely | leikkaa -d- -f 2)''
    osoite=''$ (get_ipaddr $ {hostname})''
    jos [ '$?' -ekv '0' ];sitten
    jos [ -n ''$ {address}'' ];sitten
    heitti pois 'The$ {ipversion}isäntänimen osoite$ {hostname}On:$ osoite''
    olla
    muu
    heitti pois 'Tapahtui virhe'
    olla
    tehty
  2. Kun olet valmis, tallenna ja poista tiedosto painamalla näppäimiä Ctrl+O ja Ctrl+X.
  3. Jos haluat löytää IP -osoitteen kohdennettua isäntänimeä/toimialueen nimeä vastaan, suorita komentosarja seuraavan syntaksin avulla:$./script.sh target-host

    Esimerkiksi google.comin IP -osoitteen ratkaisemiseksi komento olisi seuraava:

    $./iplookup.sh google.com

    Tulos olisi samanlainen kuin tämä:

    Samoin yahoo.com: n IP -osoitteen ratkaisemiseksi komento olisi:

    $./iplookup.sh yahoo.com

    Tulos olisi samanlainen kuin tämä:

    Siinä kaikki! Tässä artikkelissa olemme oppineet ratkaisemaan isäntänimen IPv4- ja IPv6 -osoitteeksi bash -komentosarjan avulla. Opimme myös joitain muita komentorivityökaluja, kuten Ping, Nslookup, Host ja Dig, joita voidaan käyttää IP-haun suorittamiseen.