W tym artykule wyjaśnimy, jak rozwiązać nazwę nazwy hosta/domeny na adres IPv4 i IPv6 w skrypcie Bash. Jednak przed przystąpieniem do tworzenia skryptu przejrzyjmy niektóre polecenia, które można użyć do rozwiązania nazwy hosta/domeny na adres IP.
Świst
Ping jest najprostszym i wbudowanym narzędziem, które jest dostępne w prawie wszystkich systemach operacyjnych. Służy do weryfikacji osiągalności hosta w sieci. Możemy jednak użyć go do znalezienia adresu IP w stosunku do dowolnej nazwy hosta/domeny. Użyj następującej składni, aby znaleźć adres IP docelowej nazwy hosta/nazwy domeny:
$ ping cel-host
Nslookup
NSlookup jest szeroko używany do rozwiązywania nazwy hosta na adres IP. Aby użyć tego polecenia do wyszukiwania adresu IP, użyj następującej składni:
$ nslookup Target-host
Gospodarz
Do znalezienia adresu IP może użyć innego narzędzia wiersza poleceń w stosunku do dowolnej nazwy nazwy hosta/domeny. Aby użyć tego polecenia, użyj następującej składni:
$ Host Target-host
Kopać
DIG to kolejne przydatne narzędzie wiersza poleceń, które służy do zapytania o różne rekordy związane z DNS. Można go użyć do znalezienia adresu IP w stosunku do dowolnej nazwy nazwy hosta/domeny. Użyj polecenia DIG w następujący sposób, aby znaleźć adres IP według określonej nazwy hosta/nazwy domeny.
$ kopa cel-host +krótki
Skrypt bash, aby rozwiązać nazwę hosta na adres IP
Aby użyć skryptu Bash do wyszukiwania adresu IP, wykonaj poniższe kroki:
Skrypt $ sudo nano.cii
# Określ serwer DNS
dnsserver = "8.8.8.8 "
# funkcja, aby uzyskać adres IP
funkcja get_ipaddr
ip_address = ""
# A i AAA Record odpowiednio dla IPv4 i IPv6
# 1 $ oznacza pierwszy argument
jeśli [-n „1 $”]; Następnie
hostName = "$ 1"
if [-z „query_type”]; Następnie
query_type = "a"
fi
# Użyj polecenia hosta do operacji wyszukiwania DNS
host -t $ query_type $ hostName &>/dev/null $ dnsserver
Jeśli ["$?„-eq” 0 ”]; wówczas
# Uzyskaj adres IP
ip_address = "$ (host -t $ query_type $ hostName $ dnsserver | awk '/ma.*adres/print $ nf; Wyjście')"
w przeciwnym razie
Wyjście 1
fi
w przeciwnym razie
Wyjdź 2
fi
# Wyświetl IP
Echo $ ip_address
hostName = "$ 1"
dla zapytania w „A-IPV4” „AAAA-IPV6”; Do
query_type = "$ (printf $ query | cut -d- -f 1)"
ipversion = "$ (printf $ query | cut -d- -f 2)"
adres = "$ (get_ipaddr $ hostName)"
Jeśli ["$?„-eq” 0 ”]; wówczas
if [-n "$ adres"]; Następnie
echo "$ ipversion adres nazwy hosta $ nazwa hosta to: $ adres"
fi
w przeciwnym razie
echo „wystąpił błąd”
fi
zrobione
$ ./scenariusz.SH Target-host
Na przykład, aby rozwiązać adres IP „Google.com ”, poleceniem byłoby:
$ ./iplookup.sh Google.com
Wyjście byłoby podobne do tego:
Podobnie, aby rozwiązać adres IP „Yahoo.com ”, poleceniem byłoby:
$ ./iplookup.sh yahoo.com
Wyjście byłoby podobne do tego:
To wszystko w tym jest! W tym artykule nauczyliśmy się rozwiązywać nazwę hosta na adres IPv4 i IPv6 za pomocą skryptu Bash. Nauczyliśmy się również innych narzędzi wiersza poleceń, takich jak ping, nslookup, host i kopa, które można użyć do wykonywania wyszukiwania adresu IP.