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:
$ sudo nano skript.Sch
# 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
$ ./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.