I denne artikel vil vi forklare, hvordan du løser et værtsnavn/domænenavn til en IPv4- og IPv6 -adresse i et Bash -script. Inden vi går i gang med at oprette scriptet, lad os dog gennemgå nogle af de kommandoer, der kan bruges til at løse værtsnavnet/domænenavnet til en IP -adresse.
Ping
Ping er det mest enkle og indbyggede værktøj, der er tilgængeligt på næsten alle operativsystemer. Det bruges til at kontrollere tilgængeligheden af en vært i et netværk. Vi kan dog også bruge den til at finde IP -adressen mod ethvert værtsnavn/domænenavn. Brug følgende syntaks til at finde IP -adressen på et målrettet værtsnavn/domænenavn:
$pingmålvært
Nslookup
Nslookup bruges i vid udstrækning til at løse værtsnavnet til en IP -adresse. For at bruge denne kommando til et IP -opslag skal du bruge følgende syntaks:
$nslookup mål-vært
Vært
En anden kommandolinjeværktøjsvært kan bruges til at finde IP-adresse mod ethvert værtsnavn/domænenavn. For at bruge denne kommando skal du bruge følgende syntaks:
$vært mål-vært
Du
Dig er et andet nyttigt kommandolinjeværktøj, der bruges til at forespørge forskellige DNS -relaterede poster. Det kan bruges til at finde IP -adresse mod ethvert værtsnavn/domænenavn. Brug kommandoen Dig på følgende måde til at finde en IP -adresse mod et bestemt værtsnavn/domænenavn.
$dumål-vært +kortBash -script for at løse et værtsnavn til en IP -adresse
Følg nedenstående trin for at bruge bash -scriptet til et IP -opslag:
- Opret en bash -fil ved hjælp af en hvilken som helst teksteditor. Her vil jeg bruge Nano -editoren til at oprette et script med navnet iplookup.sh .$sudo nanoscript.sh
- Kopier og indsæt følgende linjer i din scriptfil. Bemærk, at jeg her i dette script angiver Googles offentlige DNS -server til IP -opslag. Du kan angive enhver anden DNS -server i henhold til dit miljø.# Angiv DNS -server
dnsserver='8.8.8.8'
# funktion for at få IP -adresse
fungereget_ipaddr{
IP-adresse=''
# A- og AAA -registrering for henholdsvis IPv4 og IPv6
# $ 1 står for første argument
hvis [ -n '$ 1' ];derefter
værtsnavn='$ {1}'
hvis [ -Med 'forespørgselstype' ];derefter
forespørgselstype='TIL'
være
# brug værtskommando til DNS -opslag
vært-t $ {query_type} $ {hostname} &> /dev/nul$ {dnsserver}
hvis [ '$?' -ækv '0' ];derefter
# få ip -adresse
IP-adresse='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
andet
Afslut 1
være
andet
Afslut 2
være
# display ip
smed ud $ ip_adresse
}
værtsnavn='$ {1}'
tilforespørgseli 'A-IPv4' 'AAAA-IPv6';gøre
forespørgselstype='$ (printf $ forespørgsel | cut -d- -f 1)'
ipversion='$ (printf $ forespørgsel | cut -d- -f 2)'
adresse='$ (get_ipaddr $ {hostname})'
hvis [ '$?' -ækv '0' ];derefter
hvis [ -n '$ {address}' ];derefter
smed ud 'Det$ {ipversion}adressen på værtsnavnet$ {hostname}er:$ adresse'
være
andet
smed ud 'En fejl opstod'
være
Færdig - Når det er gjort, skal du bruge Ctrl+O og Ctrl+X for at gemme og afslutte filen.
- Nu for at finde en IP -adresse mod et målrettet værtsnavn/domænenavn skal du køre scriptet ved hjælp af følgende syntaks:$./script.sh mål-vært
For eksempel for at løse IP -adressen på google.com ville kommandoen være:
$./iplookup.sh google.comTilsvarende vil kommandoen for at løse IP -adressen på yahoo.com være:
$./iplookup.sh yahoo.comDet er alt, hvad der er til det! I denne artikel har vi lært at løse værtsnavnet til en IPv4- og IPv6 -adresse ved hjælp af et bash -script. Vi lærte også nogle andre kommandolinjeværktøjer såsom Ping, Nslookup, Host og Dig, der kan bruges til at udføre et IP-opslag.