I denne artikkelen vil vi forklare hvordan du løser et vertsnavn/domenenavn til en IPv4 og IPv6 -adresse i et bash -skript. La oss imidlertid gå gjennom kommandoene som kan brukes til å løse vertsnavnet/domenenavnet til en IP -adresse før du fortsetter med å lage skriptet.
Ping
Ping er det mest enkle og innebygde verktøyet som er tilgjengelig på nesten alle operativsystemer. Det brukes til å verifisere en vertskap for en vert i et nettverk. Vi kan imidlertid også bruke den til å finne IP -adressen mot ethvert vertsnavn/domenenavn. Bruk følgende syntaks for å finne IP -adressen til et målrettet vertsnavn/domenenavn:
$ ping mål-vert
NSlookup
NSlookup er mye brukt for å løse vertsnavnet til en IP -adresse. For å bruke denne kommandoen for et IP -oppslag, bruk følgende syntaks:
$ nSlookup mål-vert
Vert
En annen kommandolinjeverktøy "vert" kan brukes til å finne IP-adresse mot ethvert vertsnavn/domenenavn. For å bruke denne kommandoen, bruk følgende syntaks:
$ vert mål-vert
Grave
DIG er et annet nyttig kommandolinjeverktøy som brukes til å spørre forskjellige DNS -relaterte poster. Det kan brukes til å finne IP -adresse mot ethvert vertsnavn/domenenavn. Bruk DIG -kommandoen på følgende måte for å finne en IP -adresse mot et spesifikt vertsnavn/domenenavn.
$ dig mål-vert +kort
Bash -skript for å løse et vertsnavn til en IP -adresse
Følg trinnene for å bruke Bash -skriptet til et IP -oppslag, følg trinnene nedenfor:
$ sudo nano manus.sh
# Spesifiser DNS -serveren
dnsserver = "8.8.8.8 "
# Funksjon for å få IP -adresse
funksjon get_ipaddr
ip_address = ""
# A og AAA -post for henholdsvis IPv4 og IPv6
# $ 1 står for første argument
hvis [-n "$ 1"]; deretter
hostname = "$ 1"
hvis [-z "query_type"]; deretter
query_type = "a"
fi
# Bruk vertskommando for DNS -oppslagsoperasjoner
vert -t $ query_type $ hostname &>/dev/null $ dnssserver
Hvis ["$?"-eq" 0 "]; deretter
# Få IP -adresse
ip_address = "$ (host -t $ query_type $ hostname $ dnsserver | awk '/har.*adresse/skriv ut $ nf; exit')"
ellers
Avslutt 1
fi
ellers
Avslutt 2
fi
# Vis IP
Echo $ ip_address
hostname = "$ 1"
For spørring i "A-IPV4" "AAAA-IPV6"; gjøre
query_type = "$ (printf $ query | cut -d- -f 1)"
ipVersion = "$ (printf $ spørring | cut -d- -f 2)"
adresse = "$ (get_ipaddr $ hostname)"
Hvis ["$?"-eq" 0 "]; deretter
if [-n "$ adresse"]; deretter
Echo "The $ ipversion Adress of the Hostname $ Hostname er: $ adresse"
fi
ellers
ekko "Det oppstod en feil"
fi
Ferdig
$ ./manus.SH mål-vert
For eksempel å løse IP -adressen til “Google.com ”, kommandoen ville være:
$ ./iplookup.Sh Google.com
Utgangen vil være lik dette:
Tilsvarende for å løse IP -adressen til “Yahoo.com ”, kommandoen ville være:
$ ./iplookup.Sh Yahoo.com
Utgangen vil være lik dette:
Det er alt det er for det! I denne artikkelen har vi lært å løse vertsnavnet til en IPv4 og IPv6 -adresse ved hjelp av et bash -skript. Vi lærte også noen andre kommandolinjeverktøy som Ping, NSlookup, Host og Dig som kan brukes til å utføre et IP-oppslag.