I denne artikkelen vil vi forklare hvordan du løser et vertsnavn/domenenavn til en IPv4- og IPv6 -adresse i et Bash -skript. Imidlertid, før vi fortsetter med å lage skriptet, la oss se på noen av kommandoene som kan brukes til å løse vertsnavnet/domenenavnet til en IP -adresse.
Ping
Ping er det mest enkle og innebygde verktøyet som er tilgjengelig på nesten alle operativsystemer. Den brukes til å kontrollere tilgjengeligheten til en vert i et nettverk. Imidlertid kan vi 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:
$pingmål-vert
Nslookup
Nslookup er mye brukt for å løse vertsnavnet til en IP -adresse. For å bruke denne kommandoen til et IP -oppslag, bruker du følgende syntaks:
$nslookup mål-vert
Vert
En annen kommandolinjeverktøyvert kan brukes til å finne IP-adresse mot ethvert vertsnavn/domenenavn. For å bruke denne kommandoen, bruk følgende syntaks:
$vert mål-vert
Du
Dig er et annet nyttig kommandolinjeverktøy som brukes til å spørre forskjellige DNS -relaterte poster. Den 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 bestemt vertsnavn/domenenavn.
$dumål-vert +kortBash -skript for å løse et vertsnavn til en IP -adresse
For å bruke bash -skriptet for et IP -oppslag, følg trinnene nedenfor:
- Lag en bash -fil ved hjelp av en hvilken som helst tekstredigerer. Her skal jeg bruke Nano -editoren til å lage et skript med navn iplookup.sh .$sudo nanoscript.sh
- Kopier og lim inn følgende linjer i skriptfilen. Vær oppmerksom på at her i dette skriptet spesifiserer jeg Googles offentlige DNS -server for IP -oppslag. Du kan angi hvilken som helst annen DNS -server i henhold til ditt miljø.# Spesifiser DNS -server
dnsserver='8.8.8.8'
# funksjon for å få IP -adresse
funksjonget_ipaddr{
IP adresse=''
# A- og AAA -post for henholdsvis IPv4 og IPv6
# $ 1 står for første argument
hvis [ -n '$ 1' ];deretter
vertsnavn='$ {1}'
hvis [ -Med 'query_type' ];deretter
query_type='TIL'
være
# bruk vertskommando for DNS -oppslagsoperasjoner
vert-t $ {query_type} $ {hostname} &> /dev/null$ {dnsserver}
hvis [ '$?' -ekv '0' ];deretter
# få ip -adresse
IP adresse='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
ellers
exit 1
være
ellers
exit 2
være
# display ip
kastet ut $ ip_adresse
}
vertsnavn='$ {1}'
tilspørsmåli 'A-IPv4' 'AAAA-IPv6';gjøre
query_type='$ (printf $ query | cut -d- -f 1)'
ipversjon='$ (printf $ query | cut -d- -f 2)'
adresse='$ (get_ipaddr $ {hostname})'
hvis [ '$?' -ekv '0' ];deretter
hvis [ -n '$ {address}' ];deretter
kastet ut 'De$ {ipversion}adressen til vertsnavnet$ {hostname}er:$ adresse'
være
ellers
kastet ut 'En feil oppstod'
være
gjort - Når du er ferdig, bruker du Ctrl+O og Ctrl+X for å lagre og avslutte filen.
- For å finne en IP -adresse mot et målrettet vertsnavn/domenenavn, kjør skriptet ved å bruke følgende syntaks:$./script.sh mål-vert
For eksempel, for å løse IP -adressen til google.com, vil kommandoen være:
$./iplookup.sh google.comPå samme måte, for å løse IP -adressen til yahoo.com, vil kommandoen være:
$./iplookup.sh yahoo.comDet er alt det er! 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.