V tem članku bomo razložili, kako razrešiti ime gostitelja/ime domene na naslov IPv4 in IPv6 v skriptu Bash. Preden nadaljujemo z ustvarjanjem skripta, pa si oglejmo nekatere ukaze, s katerimi lahko razrešimo ime gostitelja/ime domene na naslov IP.
Ping
Ping je najbolj preprosto in vgrajeno orodje, ki je na voljo v skoraj vseh operacijskih sistemih. Uporablja se za preverjanje dosegljivosti gostitelja v omrežju. Lahko pa ga uporabimo tudi za iskanje naslova IP na katerem koli imenu gostitelja/domene. Z naslednjo skladnjo poiščite naslov IP ciljnega imena gostitelja/domene:
$pingcilj-gostitelj
Nslookup
Nslookup se pogosto uporablja za razrešitev imena gostitelja na naslov IP. Če želite ta ukaz uporabiti za iskanje IP, uporabite naslednjo skladnjo:
$nslookup target-host
Gostitelj
Za iskanje naslova IP proti poljubnemu imenu gostitelja/imenu domene lahko uporabite drugega gostitelja pripomočka ukazne vrstice. Če želite uporabiti ta ukaz, uporabite naslednjo skladnjo:
$gostitelja cilj-gostitelja
Ti
Dig je še eno uporabno orodje ukazne vrstice, ki se uporablja za poizvedovanje po različnih zapisih, povezanih z DNS. Z njim lahko poiščete naslov IP v poljubnem imenu gostitelja/domene. Uporabite ukaz Dig na naslednji način, da poiščete naslov IP za določeno ime gostitelja/ime domene.
$titarget-host +shortBash skript za razrešitev imena gostitelja na naslov IP
Če želite uporabiti bash skript za iskanje IP, sledite spodnjim korakom:
- Ustvarite bash datoteko s katerim koli urejevalnikom besedil. Tukaj bom z urejevalnikom Nano ustvaril skript z imenom iplookup.sh .$sudo nanoscript.sh
- Kopirajte in prilepite naslednje vrstice v datoteko skripta. Upoštevajte, da tukaj v tem skriptu podajam Googlov javni strežnik DNS za iskanje IP. Določite lahko kateri koli drug strežnik DNS glede na vaše okolje.# Določite strežnik DNS
dnsserver='8.8.8.8'
# funkcija za pridobitev naslova IP
funkcijoget_ipaddr{
IP naslov=''
# A in AAA zapis za IPv4 oziroma IPv6
# $ 1 pomeni prvi argument
če [ -n '1 USD' ];potem
ime gostitelja='{1} USD'
če [ -Z 'query_type' ];potem
tip_poizvedbe='TO'
biti
# uporabite ukaz host za operacije iskanja DNS
gostitelja-t $ {query_type} $ {hostname} &> /dev/nič$ {dnsserver}
če [ '$?' -ekv '0' ];potem
# dobite naslov ip
IP naslov='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
drugače
izhod 1
biti
drugače
izhod 2
biti
# display ip
vrgel ven $ ip_address
}
ime gostitelja='{1} USD'
zapoizvedbav 'A-IPv4' 'AAAA-IPv6';naredi
tip_poizvedbe='$ (printf $ poizvedba | cut -d- -f 1)'
iverzija='$ (printf $ poizvedba | cut -d- -f 2)'
naslov='$ (get_ipaddr $ {hostname})'
če [ '$?' -ekv '0' ];potem
če [ -n '$ {naslov}' ];potem
vrgel ven 'The$ {ipversion}naslov gostitelja$ {hostname}je:$ naslov'
biti
drugače
vrgel ven 'Pojavila se je napaka'
biti
Končano - Ko končate, uporabite Ctrl+O in Ctrl+X za shranjevanje in izhod iz datoteke.
- Zdaj, da poiščete naslov IP v primerjavi s ciljnim imenom gostitelja/domene, zaženite skript z naslednjo skladnjo:$./script.sh target-host
Na primer, če želite razrešiti naslov IP google.com, bi bil ukaz naslednji:
$./iplookup.sh google.comPodobno bi bil za razrešitev naslova IP spletnega mesta yahoo.com ukaz naslednji:
$./iplookup.sh yahoo.comTo je vse! V tem članku smo se naučili razrešiti ime gostitelja na naslov IPv4 in IPv6 s pomočjo skripta bash. Naučili smo se tudi nekaterih drugih orodij ukazne vrstice, kot so Ping, Nslookup, Host in Dig, ki jih je mogoče uporabiti za iskanje IP.