Hvordan kan jeg løse et værtsnavn til en IP -adresse i et Bash -script?

How Can I Resolve Hostname An Ip Address Bash Script



Hvert system i et TCP/IP -netværk tildeles en unik identifikator kendt som IP -adresse, der hjælper med at forbinde det med et andet system på netværket og overalt på internettet. Alle de websteder, du får adgang til på internettet, har også unikke IP -adresser. Da det er svært for alle at huske IP-adresserne på disse websteder, kommer DNS-systemet, som hjælper med at oversætte disse svært huskede IP-adresser til navne, der kan læses af mennesker. Med DNS skal du ikke længere huske IP -adresserne. I stedet skal du bare huske domænenavnet og alt er gjort. Faktisk på DNS ​​-serveren tager DNS -serveren værtsnavnet og løser det til en IP -adresse, som browseren eller applikationen derefter opretter forbindelse til.

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 +kort

Bash -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:

  1. 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
  1. 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
  2. Når det er gjort, skal du bruge Ctrl+O og Ctrl+X for at gemme og afslutte filen.
  3. 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.com

    Outputtet ligner dette:

    Tilsvarende vil kommandoen for at løse IP -adressen på yahoo.com være:

    $./iplookup.sh yahoo.com

    Outputtet ligner dette:

    Det 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.