Sa artikulong ito, ipaliwanag namin kung paano lutasin ang isang hostname / domain name sa isang IPv4 at IPv6 address sa isang Bash script. Gayunpaman, bago magpatuloy patungo sa paglikha ng script, suriin natin ang ilan sa mga utos na maaaring magamit upang malutas ang hostname / domain name sa isang IP address.
Ping
Ang ping ay ang pinaka-simple at built-in na tool na magagamit sa halos lahat ng mga operating system. Ginagamit ito upang i-verify ang kakayahang maabot ng isang host sa isang network. Gayunpaman, maaari din namin itong magamit upang mahanap ang IP address laban sa anumang hostname / domain name. Gamitin ang sumusunod na syntax upang mahanap ang IP address ng isang naka-target na hostname / domain name:
$pingtarget-host
Nslookup
Malawakang ginagamit ang Nslookup upang malutas ang hostname sa isang IP address. Upang magamit ang utos na ito para sa isang paghahanap sa IP, gamitin ang sumusunod na syntax:
$nslookup target-host
Host
Ang isa pang host ng command-line utility ay maaaring magamit upang makahanap ng IP address laban sa anumang hostname / domain name. Upang magamit ang utos na ito, gamitin ang sumusunod na syntax:
$target-host ng host
Ikaw
Ang Dig ay isa pang kapaki-pakinabang na tool ng linya ng utos na ginagamit upang magtanong ng iba't ibang mga talaang nauugnay sa DNS. Maaari itong magamit upang makahanap ng IP address laban sa anumang hostname / domain name. Gumamit ng Dig command sa sumusunod na paraan upang makahanap ng isang IP address laban sa isang tukoy na hostname / domain name.
$ikawtarget-host + maikliBash script upang malutas ang isang hostname sa isang IP address
Upang magamit ang bash script para sa isang paghahanap sa IP, sundin ang mga hakbang sa ibaba:
- Lumikha ng isang bash file gamit ang anumang text editor. Dito ko gagamitin ang Nano editor upang lumikha ng isang script na pinangalanan iplookup.sh .$sudo nanoscript.sh
- Kopyahin-i-paste ang mga sumusunod na linya sa iyong file ng script. Tandaan na, dito sa script na ito, tinutukoy ko ang pampublikong DNS server ng Google para sa paghahanap sa IP. Maaari mong tukuyin ang anumang iba pang mga DNS server ayon sa iyong kapaligiran.# Tukuyin ang DNS server
dnsserver='8.8.8.8'
# pagpapaandar upang makakuha ng IP address
pagpapaandarget_ipaddr{
IP address='
Ang tala ng # A at AAA para sa IPv4 at IPv6, ayon sa pagkakabanggit
Ang # $ 1 ay nangangahulugang unang pagtatalo
kung [ -n '$ 1' ];tapos
hostname='$ {1}'
kung [ -Nga 'query_type' ];tapos
query_type='TO'
maging
# Gumamit ng host command para sa mga pagpapatakbo ng paghahanap ng DNS
host-t $ {query_type} $ {hostname} &> /dev/wala$ {dnsserver}
kung [ '$?' -eq '0' ];tapos
# kumuha ng ip address
IP address='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
iba pa
labasan 1
maging
iba pa
labasan 2
maging
# display ip
itinapon $ ip_address
}
hostname='$ {1}'
para satanongsa 'A-IPv4' 'AAAA-IPv6';gawin
query_type='$ (printf $ query | cut -d- -f 1)'
ipversion='$ (printf $ query | cut -d- -f 2)'
address='$ (get_ipaddr $ {hostname})'
kung [ '$?' -eq '0' ];tapos
kung [ -n '$ {address}' ];tapos
itinapon 'Ang$ {ipversion}adress ng Hostname$ {hostname}ay:$ address'
maging
iba pa
itinapon 'May pagkakamaling naganap'
maging
tapos na - Kapag tapos na, gamitin ang Ctrl + O at Ctrl + X upang mai-save at lumabas sa file ayon sa pagkakabanggit.
- Ngayon upang makahanap ng isang IP address laban sa isang naka-target na hostname / domain name, patakbuhin ang script gamit ang sumusunod na syntax:$./script.sh target-host
Halimbawa, upang malutas ang IP address ng google.com, ang utos ay:
$./iplookup.sh google.comAng output ay magiging katulad nito:
Katulad nito, upang malutas ang IP address ng yahoo.com, ang utos ay:
$./iplookup.sh yahoo.comAng output ay magiging katulad nito:
Iyon lang ang mayroon dito! Sa artikulong ito, natutunan naming lutasin ang hostname sa isang IPv4 at IPv6 address gamit ang isang bash script. Nalaman din namin ang ilang iba pang mga tool sa command-line tulad ng Ping, Nslookup, Host, at Dig na maaaring magamit upang magsagawa ng isang IP lookup.