Wie kann ich einen Hostnamen für eine IP -Adresse in einem Bash -Skript auflösen??

Wie kann ich einen Hostnamen für eine IP -Adresse in einem Bash -Skript auflösen??
Jedem System in einem TCP/IP -Netzwerk wird eine eindeutige Kennung zugewiesen, die als IP -Adresse bezeichnet wird, mit der es hilft. Alle Websites, auf die Sie im Internet zugreifen. Da es für alle schwierig ist, sich an die IP-Adressen dieser Websites zu erinnern. Mit DNS müssen Sie sich nicht mehr an die IP -Adressen erinnern. Stattdessen müssen Sie sich nur an den Domain -Namen und alles erinnern müssen. Tatsächlich übernimmt der DNS -Server auf dem Backed den Hostnamen und behebt ihn in eine IP -Adresse, an die der Browser oder die Anwendung eine Verbindung hergestellt werden.

In diesem Artikel werden wir erklären, wie Sie einen Hostnamen/Domänennamen in einer IPv4- und IPv6 -Adresse in einem Bash -Skript beheben können. Bevor wir jedoch mit dem Erstellen des Skripts fortfahren.

Klingeln

Ping ist das einfachste und integrierteste Tool, das in fast allen Betriebssystemen erhältlich ist. Es wird verwendet, um die Erreichbarkeit eines Hosts in einem Netzwerk zu überprüfen. Wir können sie jedoch auch verwenden, um die IP -Adresse gegen jeden Hostnamen/Domain -Namen zu finden. Verwenden Sie die folgende Syntax, um die IP -Adresse eines gezielten Hostnamens/Domänennamens zu ermitteln:

$ Ping Target-Host

Nslookup

Nslookup wird häufig verwendet, um den Hostnamen in eine IP -Adresse zu beheben. Um diesen Befehl für eine IP -Suche zu verwenden, verwenden Sie die folgende Syntax:

$ nslookup target-host

Gastgeber

Ein weiterer Befehlszeilen-Dienstprogramm „Host“ kann verwendet werden, um die IP-Adresse gegen jeden Hostnamen-/Domänennamen zu finden. Um diesen Befehl zu verwenden, verwenden Sie die folgende Syntax:

$ Host Target-Host

Graben

DIG ist ein weiteres nützliches Befehlszeilen -Tool, mit dem verschiedene DNS -verwandte Datensätze abfragen werden. Es kann verwendet werden, um eine IP -Adresse gegen jeden Hostnamen/Domain -Namen zu finden. Verwenden Sie den Befehl Dig in folgender Weise, um eine IP -Adresse gegen einen bestimmten Hostnamen/Domänennamen zu finden.

$ dig target-host +kurz

BASH CRIFT, um einen Hostnamen in eine IP -Adresse zu beheben

Um das Bash -Skript für eine IP -Suche zu verwenden, befolgen Sie die folgenden Schritte:

  1. Erstellen Sie eine Bash -Datei mit einem beliebigen Texteditor. Hier werde ich den Nano -Editor verwenden, um ein Skript mit dem Namen "zu erstellen"IPlookup.Sch”.
    $ sudo nano skript.Sch
  1. Kopieren Sie die folgenden Zeilen in Ihre Skriptdatei. Beachten Sie, dass ich hier in diesem Skript den öffentlichen DNS -Server von Google für die IP -Suche ansehe. Sie können jeden anderen DNS -Server gemäß Ihrer Umgebung angeben.
    # Geben Sie den DNS -Server an
    dnsserver = "8.8.8.8 "
    # Funktion zum Abrufen der IP -Adresse
    Funktion get_ipaddr
    ip_address = ""
    # A und AAA -Datensatz für IPv4 bzw. IPv6
    # $ 1 steht für das erste Argument
    wenn [-n "$ 1"]; Dann
    hostname = "$ 1"
    if [-z "query_type"]; Dann
    query_type = "a"
    fi
    # Hostbefehl für DNS -Suchvorgänge verwenden
    Host -t $ query_type $ hostname &>/dev/null $ dnsserver
    Wenn ["$?"-eq" 0 "]; dann
    # IP -Adresse abrufen
    ip_address = "$ (host -t $ query_type $ hostname $ dnsserver | awk '/hat.*Adresse/print $ nf; Ausfahrt')"
    anders
    Ausgang 1
    fi
    anders
    Ausgang 2
    fi
    # IP anzeigen
    echo $ ip_address

    hostname = "$ 1"
    für Abfragen in "a-ipv4" "aaaa-ipv6"; Tun
    query_type = "$ (printf $ query | cut -d -f 1)"
    ipversion = "$ (printf $ query | cut -d -f 2)"
    address = "$ (get_ipaddr $ hostname)"
    Wenn ["$?"-eq" 0 "]; dann
    if [-n "$ adresse"]; Dann
    echo "Die $ ipversion -Azress des Hostnamens $ hostname lautet: $ address"
    fi
    anders
    echo "Ein Fehler ist aufgetreten"
    fi
    Erledigt
  2. Sobald er fertig ist, verwenden Sie Strg+O und Strg+X, um die Datei jeweils zu speichern und zu beenden.
  3. Führen Sie nun eine IP -Adresse gegen einen gezielten Hostnamen/Domänennamen an, das Skript mit der folgenden Syntax ausführen:
    $ ./Skript.SH Target-Host

    Zum Beispiel, um die IP -Adresse von „Google zu beheben.com ”, der Befehl wäre:

    $ ./Iplookup.Sh Google.com

    Die Ausgabe wäre ähnlich wie folgt:

    In ähnlicher Weise, um die IP -Adresse von „Yahoo zu beheben.com ”, der Befehl wäre:

    $ ./Iplookup.Sh Yahoo.com

    Die Ausgabe wäre ähnlich wie folgt:

    Das ist alles, was es gibt! In diesem Artikel haben wir gelernt, den Hostnamen in einer IPv4- und IPv6 -Adresse mithilfe eines Bash -Skripts zu beheben. Wir haben auch einige andere Befehlszeilen-Tools wie Ping, NSLookup, Host und Dig gelernt, mit denen eine IP-Suche durchgeführt werden kann.