GNU/Linux >> Znalost Linux >  >> Linux

Obslužný program příkazového řádku pro Linux, který nejprve přeloží názvy hostitelů pomocí /etc/hosts

Řešení 1:

Toho lze snadno dosáhnout pomocí getent :

getent hosts 127.0.0.1

getent bude vyhledávat jakýkoli typ dat nakonfigurovaný v nsswitch.conf .

Řešení 2:

Jeden nástroj, který by fungoval, je getent . Takže můžete použít getent hosts www.google.com nebo getent hosts localhost . Načte záznamy z databází, jak je uvedeno v konfiguraci přepínače jmenné služby /etc/nsswitch.conf .

Pro modernější implementace použijte getent ahosts www.google.com což přinese více výsledků.

Řešení 3:

Použijte getent ahosts , například:

$ getent ahosts www.google.com | sed -n 's/ *STREAM.*//p'
216.58.210.196
2a00:1450:4006:803::2004

Všechny adresy IPv4 a IPv6 získáte prostřednictvím překladače glibc (tedy pomocí /etc/hosts za prvé, jak je obvykle nakonfigurováno v /etc/nsswitch.conf ).

Nepoužívejte getent hosts , protože vám poskytne adresy IPv6 nebo IPv4 (ne obě) a zvolený protokol nemusí být ten, který nefunguje. Obecně jsou preferovány adresy IPv6, ale na některých místech jsou data IPv6 filtrována (nepodporována) směrovači.

Řešení 4:

Můžete použít obal gethostbyname() (zastaralý) jako:

python -c 'import socket;print socket.gethostbyname("www.google.com")'

Nebo obálka getaddrinfo() jako:

python -c 'import socket;print socket.getaddrinfo("www.google.com","http")[0][4][0]'

Všimněte si, že getaddrinfo vrátí všechny instance jako seznam. Poslední část příkazu vybere pouze první n-tici. To může také vrátit adresy IPv6.

Řešení 5:

resolveip udělá to.

Kupodivu je to součást balíčků mysql-server na RHEL a Ubuntu.


Linux
  1. Jak vypnout nebo restartovat Linux pomocí příkazového řádku

  2. Vytvořit uživatelsky specifický soubor Hosts jako doplněk /etc/hosts?

  3. Pochopení souboru /etc/hosts v Linuxu

  1. Paralelní stahování pomocí nástroje příkazového řádku Curl

  2. Rozdíl mezi /etc/hosts a /etc/resolv.conf

  3. Limit počtu znaků na příkazovém řádku Linuxu

  1. Úvod do používání tcpdump na příkazovém řádku Linuxu

  2. Omezte přístup k linuxovým serverům pomocí TCP Wrapperů

  3. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?