U ovom ćemo članku objasniti kako razriješiti naziv hosta/naziv domene na IPv4 i IPv6 adresu u Bash skripti. Međutim, prije nego nastavimo s stvaranjem skripte, pregledajmo neke naredbe koje se mogu koristiti za razrješenje naziva hosta/naziva domene na IP adresu.
Ping
Ping je najjednostavniji i ugrađeni alat koji je dostupan na gotovo svim operativnim sustavima. Koristi se za provjeru dostupnosti hosta u mreži. Međutim, možemo ga koristiti i za pronalaženje IP adrese u odnosu na bilo koji naziv hosta/naziv domene. Upotrijebite sljedeću sintaksu za pronalaženje IP adrese ciljanog naziva hosta/naziva domene:
$pingcilj-domaćin
Nslookup
Nslookup se naširoko koristi za razrješavanje naziva hosta na IP adresu. Da biste koristili ovu naredbu za pretraživanje IP -a, upotrijebite sljedeću sintaksu:
$nslookup target-host
Domaćin
Drugi host pomoćnog programa naredbenog retka može se koristiti za pronalaženje IP adrese naspram bilo kojeg naziva hosta/naziva domene. Da biste koristili ovu naredbu, upotrijebite sljedeću sintaksu:
$host target-host
Vas
Dig je još jedan koristan alat naredbenog retka koji se koristi za postavljanje upita o različitim zapisima povezanim s DNS -om. Može se koristiti za pronalaženje IP adrese uz bilo koji naziv hosta/naziv domene. Pomoću naredbe Dig na sljedeći način pronađite IP adresu naspram određenog naziva hosta/naziva domene.
$vastarget-host +shortBash skripta za razrješenje naziva hosta na IP adresu
Da biste koristili bash skriptu za pretraživanje IP -a, slijedite korake u nastavku:
- Izradite bash datoteku pomoću bilo kojeg uređivača teksta. Ovdje ću koristiti Nano editor za stvaranje skripte pod nazivom iplookup.sh .$sudo nanoskripta.sh
- Kopirajte i zalijepite sljedeće retke u datoteku skripte. Imajte na umu da ovdje u ovoj skripti navodim Googleov javni DNS poslužitelj za traženje IP -a. Možete navesti bilo koji drugi DNS poslužitelj prema vašem okruženju.# Odredite DNS poslužitelj
dnsserver='8.8.8.8'
# funkcija za dobivanje IP adrese
funkcijaget_ipaddr{
IP adresa=''
# A i AAA zapis za IPv4 odnosno IPv6
# $ 1 označava prvi argument
ako [ -n '1 USD' ];zatim
naziv hosta='{1} USD'
ako [ -S 'tip_upita' ];zatim
tip_upita='DO'
biti
# koristite naredbu host za operacije pretraživanja DNS -a
domaćin-t $ {query_type} $ {hostname} &> /dev/null$ {dnsserver}
ako [ '$?' -ekv '0' ];zatim
# dobiti IP adresu
IP adresa='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
drugo
Izlaz 1
biti
drugo
Izlaz 2
biti
# display ip
izbaciti $ ip_adresa
}
naziv hosta='{1} USD'
zaupitu 'A-IPv4' 'AAAA-IPv6';čini
tip_upita='$ (printf $ upit | izrezati -d- -f 1)'
iverzija='$ (printf $ upit | izrezati -d- -f 2)'
adresa='$ (get_ipaddr $ {hostname})'
ako [ '$?' -ekv '0' ];zatim
ako [ -n '$ {adresa}' ];zatim
izbaciti 'The$ {ipversion}adresa imena hosta$ {hostname}je:$ adresa'
biti
drugo
izbaciti 'Dogodila se pogreška'
biti
učinjeno - Kad završite, upotrijebite Ctrl+O i Ctrl+X za spremanje i izlazak datoteke.
- Sada kako biste pronašli IP adresu u odnosu na ciljano ime hosta/naziv domene, pokrenite skriptu pomoću sljedeće sintakse:$./script.sh target-host
Na primjer, za rješavanje IP adrese google.com naredba bi bila:
$./iplookup.sh google.comSlično, za rješavanje IP adrese yahoo.com, naredba bi bila:
$./iplookup.sh yahoo.comTo je sve što treba! U ovom smo članku naučili razlučiti ime hosta na IPv4 i IPv6 adresu pomoću bash skripte. Naučili smo i neke druge alate naredbenog retka, kao što su Ping, Nslookup, Host i Dig koji se mogu koristiti za pretraživanje IP-a.