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ä +lyhytBash -skripti isäntänimen ratkaisemiseksi IP -osoitteeksi
Jos haluat käyttää bash -komentosarjaa IP -haussa, toimi seuraavasti:
- Luo bash -tiedosto millä tahansa tekstieditorilla. Tässä aion käyttää Nano -editoria luomaan nimisen komentosarjan iplookup.sh .$sudo nanoscript.sh
- 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 - Kun olet valmis, tallenna ja poista tiedosto painamalla näppäimiä Ctrl+O ja Ctrl+X.
- 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.comTulos olisi samanlainen kuin tämä:
Samoin yahoo.com: n IP -osoitteen ratkaisemiseksi komento olisi:
$./iplookup.sh yahoo.comTulos 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.