V tomto článku vysvětlíme, jak vyřešit název hostitele/název domény na adresu IPv4 a IPv6 ve skriptu Bash. Než však přistoupíme k vytváření skriptu, podívejme se na některé příkazy, které lze použít k překladu názvu hostitele/názvu domény na IP adresu.
Ping
Ping je nejjednodušší a integrovaný nástroj, který je k dispozici téměř ve všech operačních systémech. Slouží k ověření dosažitelnosti hostitele v síti. Můžeme jej však také použít k nalezení IP adresy podle libovolného názvu hostitele/názvu domény. K vyhledání IP adresy cíleného názvu hostitele/názvu domény použijte následující syntaxi:
$pingcílový hostitel
Nslookup
Nslookup je široce používán k překladu názvu hostitele na IP adresu. Chcete -li použít tento příkaz pro vyhledávání IP, použijte následující syntaxi:
$nslookup cílový hostitel
Hostitel
K vyhledání adresy IP podle libovolného názvu hostitele/názvu domény lze použít jiného hostitele obslužného programu příkazového řádku. Chcete -li použít tento příkaz, použijte následující syntaxi:
$host target-host
Vy
Dig je další užitečný nástroj příkazového řádku, který se používá k dotazování různých záznamů souvisejících s DNS. Lze jej použít k vyhledání adresy IP podle libovolného názvu hostitele/názvu domény. Použijte příkaz Dig následujícím způsobem k nalezení IP adresy proti konkrétnímu názvu hostitele/názvu domény.
$vytarget-host +shortBash skript k překladu názvu hostitele na IP adresu
Chcete -li použít skript bash pro vyhledávání IP, postupujte podle následujících kroků:
- Vytvořte soubor bash pomocí libovolného textového editoru. Zde budu používat editor Nano k vytvoření skriptu s názvem iplookup.sh .$sudo nanoscript.sh
- Zkopírujte a vložte následující řádky do souboru skriptu. Všimněte si, že zde v tomto skriptu určuji veřejný server DNS společnosti Google pro vyhledávání IP. Můžete zadat jakýkoli jiný server DNS podle vašeho prostředí.# Zadejte server DNS
dnsserver='8.8.8.8'
# funkce pro získání IP adresy
funkceget_ipaddr{
IP adresa=''
# A a AAA záznam pro IPv4, respektive IPv6
# $ 1 znamená první argument
-li [ -n '$ 1' ];pak
jméno hostitele='$ {1}'
-li [ -S 'query_type' ];pak
query_type='NA'
být
# použijte hostitelský příkaz pro operace vyhledávání DNS
hostitel-t $ {query_type} $ {hostname} &> /dev/nula$ {dnsserver}
-li [ '$?' -ekv '0' ];pak
# získejte IP adresu
IP adresa='$ (host -t $ {query_type} $ {hostname} $ {dnsserver} | awk '/has.*address/{print $ NF; exit}')'
jiný
výstup 1
být
jiný
výstup 2
být
# zobrazit ip
vyhodil $ ip_adresa
}
jméno hostitele='$ {1}'
prodotazv 'A-IPv4' 'AAAA-IPv6';dělat
query_type='$ (printf $ query | cut -d- -f 1)'
ipversion='$ (printf $ query | cut -d- -f 2)'
adresa='$ (get_ipaddr $ {hostname})'
-li [ '$?' -ekv '0' ];pak
-li [ -n '$ {adresa}' ];pak
vyhodil 'The$ {ipversion}adresa Hostname$ {hostname}je:$ adresa'
být
jiný
vyhodil 'Vyskytla se chyba'
být
Hotovo - Až budete hotovi, použijte Ctrl+O a Ctrl+X k uložení a ukončení souboru.
- Chcete -li nyní najít IP adresu proti cílenému názvu hostitele/názvu domény, spusťte skript pomocí následující syntaxe:$./script.sh cílový hostitel
Chcete -li například vyřešit IP adresu google.com, příkaz by byl:
$./iplookup.sh google.comPodobně pro vyřešení IP adresy yahoo.com bude příkaz:
$./iplookup.sh yahoo.comTo je vše, co k tomu patří! V tomto článku jsme se naučili přeložit název hostitele na adresu IPv4 a IPv6 pomocí skriptu bash. Naučili jsme se také některé další nástroje příkazového řádku, jako jsou Ping, Nslookup, Host a Dig, které lze použít k vyhledávání IP.