Hvordan kan jeg løse et vertsnavn til en IP -adresse i et bash -skript?

Hvordan kan jeg løse et vertsnavn til en IP -adresse i et bash -skript?
Hvert system i et TCP/IP -nettverk er tildelt en unik identifikator kjent som IP -adresse som hjelper til med å koble det til annet system o nettverket og over hele Internett. Alle nettstedene du får tilgang til på internett har også unike IP -adresser. Siden det er vanskelig for alle å huske IP-adressene til disse nettstedene, kommer DNS-systemet som hjelper til med å oversette disse vanskelig å huske IP-adresser til menneskelig lesbare navn. Med DNS trenger du ikke lenger huske IP -adressene. I stedet må du bare måtte huske domenenavnet og alt gjort. Faktisk, på støttet, tar DNS -serveren vertsnavnet og løser den til en IP -adresse som nettleseren eller applikasjonen deretter kobles til.

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:

  1. Opprett en bash -fil ved hjelp av hvilken som helst tekstredigerer. Her vil jeg bruke Nano -redaktøren til å lage et manus som heter “iplookup.sh”.
    $ sudo nano manus.sh
  1. Kopier lim inn følgende linjer i skriptfilen din. Merk at jeg her i dette skriptet spesifiserer Googles offentlige DNS -server for IP -oppslag. Du kan spesifisere hvilken som helst annen DNS -server i henhold til miljøet ditt.
    # 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
  2. Når du er ferdig, bruk Ctrl+O og Ctrl+X for å lagre og avslutte filen.
  3. Nå for å finne en IP -adresse mot et målrettet vertsnavn/domenenavn, kjør skriptet ved hjelp av følgende syntaks:
    $ ./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.