Š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 +īssBash skripts, lai resursdatora nosaukumu atrisinātu līdz IP adresei
Lai IP meklēšanai izmantotu bash skriptu, rīkojieties šādi:
- Izveidojiet bash failu, izmantojot jebkuru teksta redaktoru. Šeit es izmantošu Nano redaktoru, lai izveidotu skriptu ar nosaukumu iplookup.sh .$sudo nanoskripts.sh
- 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 - Kad esat pabeidzis, izmantojiet Ctrl+O un Ctrl+X, lai attiecīgi saglabātu un izietu no faila.
- 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.comLīdzīgi, lai atrisinātu yahoo.com IP adresi, komanda būtu šāda:
$./iplookup.sh yahoo.comTas 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.