Hogyan tudom feloldani a gazdagépnevet IP -címre a Bash szkriptben?

How Can I Resolve Hostname An Ip Address Bash Script



A TCP/IP -hálózat minden rendszeréhez egyedi azonosítót rendelnek, amelyet IP -címnek neveznek, és amely lehetővé teszi, hogy összekapcsolja azt a hálózat másik rendszerével és az interneten. Az interneten elérhető összes webhely egyedi IP -címmel is rendelkezik. Mivel mindenkinek nehéz megjegyezni ezeknek a webhelyeknek az IP-címét, jön a DNS-rendszer, amely segít lefordítani ezeket a nehezen megjegyezhető IP-címeket ember által olvasható nevekre. A DNS használatával már nem kell emlékeznie az IP -címekre. Ehelyett csak emlékeznie kell a domain névre, és minden kész. Valójában a hátoldalon a DNS -kiszolgáló felveszi a gazdagépnevet, és feloldja azt az IP -címre, amelyhez a böngésző vagy az alkalmazás csatlakozik.

Ebben a cikkben elmagyarázzuk, hogyan lehet feloldani egy gazdagépnevet/tartománynevet IPv4- és IPv6 -címre egy Bash -szkriptben. Mielőtt azonban folytatnánk a szkript létrehozását, tekintsünk át néhány parancsot, amelyek segítségével a gazdagépnév/tartománynév IP -címre oldható fel.





Ping

A Ping a legegyszerűbb és beépített eszköz, amely szinte minden operációs rendszeren elérhető. Arra szolgál, hogy ellenőrizze a gazda elérhetőségét a hálózatban. Azonban arra is használhatjuk, hogy megkeressük az IP -címet bármely állomásnév/tartománynév ellen. Használja a következő szintaxist a célzott gazdagépnév/tartománynév IP -címének megkereséséhez:



$pingcél-gazda



Nslookup

Az Nslookup -ot széles körben használják a gazdagépnév IP -címre történő feloldására. Annak érdekében, hogy ezt a parancsot IP -kereséshez használja, használja a következő szintaxist:





$nslookup target-host

Házigazda

Egy másik parancssori segédprogram segítségével IP-címet találhat bármely gazdagépnév/tartománynév ellen. A parancs használatához használja a következő szintaxist:



$host target-host

te

A Dig egy másik hasznos parancssori eszköz, amely különböző DNS -rekordok lekérdezésére szolgál. Használható IP -cím megkeresésére bármely gazdagépnév/tartománynév ellen. Használja a Dig parancsot a következő módon, ha egy adott gazdagépnév/tartománynév alapján keres IP címet.

$tetarget-host +short

Bash -szkript a gazdagépnév IP -címre történő feloldására

Ha a bash parancsfájlt szeretné használni IP -kereséshez, kövesse az alábbi lépéseket:

  1. Hozzon létre bash fájlt bármilyen szövegszerkesztővel. Itt a Nano szerkesztővel fogom létrehozni a nevű szkriptet iplookup.sh .$sudo nanoscript.sh
  1. Másolja be a következő sorokat a parancsfájlba. Ne feledje, hogy ebben a szkriptben a Google nyilvános DNS -kiszolgálóját adom meg az IP -kereséshez. Bármilyen más DNS -kiszolgálót megadhat a környezetének megfelelően.# Adja meg a DNS -kiszolgálót
    dnsserver=„8.8.8.8”
    # függvény az IP -cím lekéréséhez
    funkcióget_ipaddr{
    IP-cím=''
    # A és AAA rekord IPv4 és IPv6 esetén
    # $ 1 az első érv
    ha [ -n „1 USD” ];azután
    hostname='{1} USD'
    ha [ -Val vel 'query_type' ];azután
    query_type='NAK NEK'
    lenni
    # használja a host parancsot a DNS -keresési műveletekhez
    házigazda-t $ {query_type} $ {hostname} &> /dev/nulla$ {dnsserver}
    ha [ '$?' -eq '0' ];azután
    # kap ip címet
    IP-cím='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*cím/{print $ NF; exit}')'
    más
    kijárat 1
    lenni
    más
    kijárat 2
    lenni
    # kijelző ip
    kidobta $ ip_address
    }
    hostname='{1} USD'
    számáralekérdezésban ben 'A-IPv4' 'AAAA-IPv6';tedd
    query_type='$ (printf $ query | cut -d- -f 1)'
    ipversion='$ (printf $ query | cut -d- -f 2)'
    cím='$ (get_ipaddr $ {hostname})'
    ha [ '$?' -eq '0' ];azután
    ha [ -n '$ {address}' ];azután
    kidobta 'Az$ {ipversion}a Hostname címe$ {hostname}az:$ cím'
    lenni
    más
    kidobta 'Hiba lépett fel'
    lenni
    Kész
  2. Ha elkészült, használja a Ctrl+O és a Ctrl+X billentyűket a fájl mentéséhez és kilépéséhez.
  3. Most keresse meg az IP -címet a célzott gazdagépnév/tartománynév ellen, futtassa a szkriptet a következő szintaxissal:$./script.sh target-host

    Például a google.com IP -címének feloldásához a parancs a következő lenne:

    $./iplookup.sh google.com

    A kimenet hasonló lenne ehhez:

    Hasonlóképpen, a yahoo.com IP -címének feloldásához a parancs a következő lenne:

    $./iplookup.sh yahoo.com

    A kimenet hasonló lenne ehhez:

    Ennyi az egész! Ebben a cikkben megtanultuk feloldani a gazdagépnevet IPv4 és IPv6 címre bash parancsfájl használatával. Megtanultunk néhány más parancssori eszközt is, mint például a Ping, az Nslookup, a Host és a Dig, amelyekkel IP-keresést lehet végrehajtani.