Jaký je nejstručnější způsob, jak vyřešit název hostitele na adresu IP ve skriptu Bash? Používám Arch Linux .
Komentáře
Odpovědět
Můžete použít getent
, který je dodáván s glibc
(takže ho v Linuxu téměř určitě máte) . To řeší pomocí gethostbyaddr / gethostbyname2, a tak také zkontroluje /etc/hosts
/ NIS / etc:
getent hosts unix.stackexchange.com | awk "{ print $1 }"
Nebo, jak řekl Heinzi níže, můžete použít dig
s argumentem +short
(dotazuje se přímo na servery DNS, nedívá se na /etc/hosts
/ NSS / atd.):
dig +short unix.stackexchange.com
Pokud je dig +short
nedostupný, kdokoli z následujících by mělo fungovat. Všechny tyto dotazy se dotazují přímo na DNS a ignorují další způsoby řešení:
host unix.stackexchange.com | awk "/has address/ { print $4 }" nslookup unix.stackexchange.com | awk "/^Address: / { print $2 }" dig unix.stackexchange.com | awk "/^;; ANSWER SECTION:$/ { getline ; print $5 }"
Pokud chcete vytisknout pouze jednu IP, přidejte exit
příkaz do pracovního postupu awk
.
dig +short unix.stackexchange.com | awk "{ print ; exit }" getent hosts unix.stackexchange.com | awk "{ print $1 ; exit }" host unix.stackexchange.com | awk "/has address/ { print $4 ; exit }" nslookup unix.stackexchange.com | awk "/^Address: / { print $2 ; exit }" dig unix.stackexchange.com | awk "/^;; ANSWER SECTION:$/ { getline ; print $5 ; exit }"
Komentáře
- Ve výchozím nastavení funguje dig pouze s ipv4, kde hostitel poskytuje odpovědi ipv4 i ipv6. Může to být neočekávané. Můžete zkusit
host www.google.com
,dig +short www.google.com
,host ipv6.google.com
,dig +short ipv6.google.com
,host www.facebook.com
,dig +short www.facebook.com
. - DIG nefunguje, pokud je to CNAME, IP nevrátí.
- Někdy
host
lze vypršet a nic nevrátí. U některých domén můžedig +short
vrátit alias domény v prvním řádku. Takže pro zajištění výstupu je IPv4 adresa, použijtedig +short example.com | grep -Eo '[0-9\.]{7,15}' | head -1
. - Použití
getent hosts <host>
je nesprávné, jako pro instan může poskytnout adresu IPv6, zatímco IPv6 nefunguje ‚. Správným řešením je použítgetent ahosts <host>
v případě potřeby vyzkoušet IPv6 i IPv4. - Za zmínku stojí: host, dig a nslookup zřejmě přímo komunikují s uvedenými servery v resolv.conf, zatímco “ hostující host “ respektuje jak soubor lokálního hostitele, tak mezipaměť na úrovni knihovny (například nscd), pokud je povolena .
Odpověď
S host
z dnsutils balíček:
$ host unix.stackexchange.com unix.stackexchange.com has address 64.34.119.12
( Opraveno název balíčku podle komentářů. Poznámka: ostatní distribuce mají host
v různých balíčcích: Debian / Ubuntu bind9-host , openSUSE bind-utils , Frugalware bind .)
Komentáře
- Pokud potřebujete vyřešit něco, co není v DNS (viz / etc / hosts), podívejte se na níže uvedený vstup Resolutionip.
- Uvědomte si, že
host
někdy vrací víceřádkový výstup (v případě přesměrování), ‚ budete chtíthost unix.stackexchange.com | tail -n1
pokud chcete pouze linku s IP adresou. - Existuje několik verzí “ hostitele “ s různými výstupními formáty. Např. většina systémů vypadá, že má verzi BIND9, ale můj server Ubuntu 10.04 LTS má nějak úplně jinou verzi.
- pokud ‚ nemáte
host
nebodig
nainstalovaný můžete místo toho použít ping, který je vždy k dispozici:ping unix.stackexchange.com -c 1 -q 2>&1 | grep -Po "(\d{1,3}\.){3}\d{1,3}"
toto nepotřebuje žádné na většinu zápasů Unix / Linux se instalují další balíčky. - Tato odpověď si zaslouží vážný downvote.
host
je nástroj DNS (podobně jakonslookup
), takže vyhledává pouze hostitele v DNS, nikoli např./etc/hosts
. Tedy NENÍ odpověď na OP ‚ s otázku.
Odpověď
Mám na svém stroji nástroj, který tuto práci zřejmě dělá. Stránka man ukazuje, že se zdá, že přichází s mysql … Zde je způsob, jak jej můžete použít:
resolveip -s unix.stackexchange.com 64.34.119.12
Návratová hodnota tohoto nástroje se liší od 0 pokud název hostitele nelze vyřešit:
resolveip -s unix.stackexchange.coma resolveip: Unable to find hostid for "unix.stackexchange.coma": host not found exit 2
UPDATE Ve Fedoře je dodáván s serverem mysql:
yum provides "*/resolveip" mysql-server-5.5.10-2.fc15.x86_64 : The MySQL server and related files Dépôt : fedora Correspondance depuis : Nom de fichier : /usr/bin/resolveip
Myslím, že by to pro váš skript vytvořilo zvláštní závislost …
Komentáře
- Toto se zdá být jediným řešením zde, které používá OS ‚ s build v resolveru – takže funguje pro / etc / hosts stejně jako DNS.
-
getent
, jak je podrobně uvedeno v druhé odpovědi, se také podívá na / etc / hosts a je dodáván s glibc, takže nemá žádné závislosti na systému Linux. - Nepoužíval bych vyřešit, protože jste vytvořili závislost na jiném balíčku. getent je nainstalován ve výchozím nastavení. host, nslookup a dig jsou všechny ve volitelných balíčcích. Určitě použijte getent ve skriptu.
- Líbí se mi tato odpověď, ale ‚ n nevrací ipv6
Odpověď
Následující příkaz pomocí dig
vám umožní číst výsledek přímo bez sed / awk / atd. magic:
$ dig +short unix.stackexchange.com 64.34.119.12
dig
je také součástí dnsutils
balíček.
Poznámka : dig
má návratovou hodnotu 0
, i když název nebylo možné vyřešit. Místo kontroly návratové hodnoty tedy musíte zkontrolovat, zda je výstup prázdný:
hostname=unix.stackexchange.com ip=`dig +short $hostname` if [ -n "$ip" ]; then echo IP: $ip else echo Could not resolve hostname. fi
Poznámka 2 : Pokud má název hostitele více adres IP (zkuste například debian.org
), budou všechny vráceno. Tento „problém“ ovlivňuje všechny nástroje uvedené v této otázce:
Komentáře
- Upozorňujeme, že pokud má doména záznam CNAME jeho doména může být vytištěna v prvním řádku místo IP adresy.
Odpověď
getent hosts unix.stackexchange.com | cut -d" " -f1
Komentáře
- Zvažte také
ahosts
,ahostsv4
,ahostsv6
sgetent
. -
cut
nebude pro getent ‚ s, který k oddělení sloupců používá\t
. To je případ systému Solaris. - @ceving: Na Sole možná budete muset spustit
cut
bez-d
(výchozí nastavení je\t
jako oddělovač). V systému Linux je to ‚ s mezerami, takže výše uvedený řádek funguje.
Odpovědět
Doposud uvedená řešení většinou fungují v jednodušším případě: název hostitele se přímo převede na jednu adresu IPv4. Toto může být jediný případ, kdy potřebujete vyřešit názvy hostitelů, ale pokud ne, níže uvádíme diskusi o některých případech, které možná budete muset vyřešit.
Chris Down a Heinzi stručně diskutovali o případu, kdy je název hostitele vyřešen na více než jednu IP adresu. V tomto případě (a dalších níže) může dojít k přerušení základního skriptování za předpokladu, že se název hostitele přímo přeloží na jednu adresu IP. Níže je příklad s názvem hostitele, který řeší více než jednu adresu IP:
$ host www.l.google.com www.l.google.com has address 209.85.148.147 www.l.google.com has address 209.85.148.103 www.l.google.com has address 209.85.148.99 www.l.google.com has address 209.85.148.106 www.l.google.com has address 209.85.148.105 www.l.google.com has address 209.85.148.104
Ale co je www.l.google.com
? Zde je třeba zavést alias případ. Podívejme se na níže uvedený příklad:
$ host www.google.com www.google.com is an alias for www.l.google.com. www.l.google.com has address 74.125.39.103 www.l.google.com has address 74.125.39.147 www.l.google.com has address 74.125.39.105 www.l.google.com has address 74.125.39.99 www.l.google.com has address 74.125.39.106 www.l.google.com has address 74.125.39.104
Takže www.google.com
se neřeší přímo na IP adresy, ale na alias, který sám překládá na více IP adres. Další informace o aliasech najdete zde . Samozřejmě je možný případ, kdy má alias jedinou IP adresu. , jak je uvedeno níže:
$ host g.www.ms.akadns.net g.www.ms.akadns.net is an alias for lb1.www.ms.akadns.net. lb1.www.ms.akadns.net has address 207.46.19.190
Lze ale aliasy zřetězit?Odpověď zní ano:
$ host www.microsoft.com www.microsoft.com is an alias for toggle.www.ms.akadns.net. toggle.www.ms.akadns.net is an alias for g.www.ms.akadns.net. g.www.ms.akadns.net is an alias for lb1.www.ms.akadns.net. lb1.www.ms.akadns.net has address 207.46.19.254 $ host www.google.fr www.google.fr is an alias for www.google.com. www.google.com is an alias for www.l.google.com. www.l.google.com has address 74.125.39.147 www.l.google.com has address 74.125.39.103 www.l.google.com has address 74.125.39.99 www.l.google.com has address 74.125.39.106 www.l.google.com has address 74.125.39.104 www.l.google.com has address 74.125.39.105
Nenašel jsem žádný příklad, kdy by název hostitele přešel na alias, který nevyřeší adresu IP, ale myslím, že může nastat případ.
Existuje více než více adres IP a aliasů, existují nějaké další speciální případy … a co IPv6? Můžete zkusit:
$ host ipv6.google.com ipv6.google.com is an alias for ipv6.l.google.com. ipv6.l.google.com has IPv6 address 2a00:1450:8007::68
Kde název hostitele ipv6.google.com
je název hostitele pouze pro IPv6. A co názvy hostitelů s dvojitým zásobníkem:
$ host www.facebook.com www.facebook.com has address 66.220.153.15 www.facebook.com has IPv6 address 2620:0:1c08:4000:face:b00c::
Pokud jde o protokol IPv6, pokud je váš hostitel pouze protokolem IPv4, můžete stále rozlišovat adresy IPv6 (testováno pouze na protokolu WinXP pouze pro protokol IPv4 a s ipv6.google.com si to můžete vyzkoušet na Linuxu). V tomto případě je rozlišení úspěšné, ale ping selže s neznámou chybovou zprávou hostitele . Může to být případ, kdy vaše skriptování selže.
Doufám, že tyto poznámky byly užitečné.
Komentáře
- Jaké skvělé doplněk přijaté odpovědi, ukazující všechny okrajové případy, se kterými se člověk bude chtít při skriptování vypořádat. Moje verze
host
ani neuvádí “ adresu “ pro mé schránky.
Odpověď
Chcete-li se vyhnout problémům s aliasy a vždy připravit k použití jednu IP adresu:
python -c "import socket; print socket.gethostbyname("www.example.com")"
Komentáře
- Z této odpovědi jsem vytvořil funkci bash, která se v mém bashrc drží: gist.github.com/brycepg/ba117a37de53906dc8fcc312bd7d5fee
-
python3 -c 'import socket; print(socket.gethostbyname("www.example.com"))'
Odpověď
ping -q -c 1 -t 1 your_host_here | grep PING | sed -e "s/).*//" | sed -e "s/.*(//"
funguje bez závislostí na jiných systémech (a pro hostitele uvedené v / etc / hosts)
Komentáře
- Použití ping je to, co jsem potřeboval, protože potřebuji hodnotu ze souboru hostitelů, ale vzor sed správně rozebrat, ale to fungovalo ping – q -c 1 -t 1 váš_hostitel_tu | grep PING | sed -e “ s / ^ [^ (] * [(] // “ | sed -e “ s / [)]. * $ // “
- Chcete-li vyřešit něco v mé domácí síti, jako je myhostname.local, funguje to tak pro já to je nejlepší odpověď.
- Mohu navrhnout také toto:
ping -q -c 1 -t 1 bahface.local | grep -m 1 PING | cut -d "(" -f2 | cut -d ")" -f1
-
getent <ahosts|ahostsv4|ahostsv6|hosts> <hostname>
pracuje také pro deklarace uvnitř/etc/hosts
… a ‚ je go-to-tool pro všechny druhy systémových databází (heslo, skupina, aliasy, služby).
Odpověď
Jednoduché, ale užitečné :
-
getent ahostsv4 www.google.de | grep STREAM | head -n 1 | cut -d " " -f 1
-
getent ahostsv6 www.google.de | grep STREAM | head -n 1 | cut -d " " -f 1
-
getent hosts google.de | head -n 1 | cut -d " " -f 1
Všechny příkazy vyřeší IP adresu, pokud hostitel stále existuje. Pokud hostitel ukazuje na CNAME, získá také IP case.
První příkaz vrátí vyřešenou adresu IPv4.
Druhý příkaz vrátí res olved IPv6 address.
Třetí příkaz vrátí preferovanou adresu vlastníka, která může být buď IPv4 nebo IPv6 adresa.
Komentáře
- Zdaleka nejjednodušší. A je k dispozici ve výchozím nastavení. Ne jako
host
, které vyžadují instalacibindutils
odpovědi
Zde je nepatrná variace přístupu ping
, který bere v úvahu „neznámého hostitele“ (pomocí propojení přes stderr) a používá tr
vyhnout se použití sed
regexps:
ping -c1 -t1 -W0 www.example.com 2>&1 | tr -d "():" | awk "/^PING/{print $3}"
V případě je důležité zachytit výstupní hodnotu, pak bude fungovat následující (i když méně elegantní):
ping -c1 -t1 -W0 www.example.com &>/dev/null && ping -c1 -t1 -W0 www.example.com 2>&1 | tr -d "():" | awk "/^PING/{print $3}"
Komentáře
- Toto řešení se mi líbí, protože funguje bez jakýchkoli dalších nástrojů.
Odpověď
Chcete-li dokončit odpověď Chrisa Downa a vypořádat se s komentáři jfgagne ohledně (případně zřetězených) aliasů, máme zde řešení, které:
- zohledňuje více IP adres
- jeden nebo více aliasů (CNAME)
- neotázá se na
/etc/hosts
soubor ( v mém případě jsem to nechtěl); k dotazování je dberntovo pythonové řešení perfektní) -
nepoužívá awk / sed
dig +short www.alias.com | grep -v "\.$" | head -n 1
Vždy vrátí první IP adresu, nebo pokud není vyřešen prázdný tring. s verzí dig:
$ dig -v DiG 9.8.1-P1
Komentáře
- Díky, ostatní odpovědi předpokládají “ dig + short “ vždy návrat jediná adresa IP. ‚ nezohledňují CNAME.
Odpověď
php -r "echo gethostbyname("unix.stackexchange.com");"
Komentáře
- to funguje, ale vyžaduje to, aby byl na vašem terminálu nainstalován php
- může být užitečný v typickém kontejneru php docker, kde “ host „, “ dig “ atd. nejsou k dispozici
Odpověď
Chtěl bych to přidat jako komentář pro Andrew McGregor Re: ping. To by mi to však nedovolilo, takže to musím přidat jako další odpověď. (Pokud to někdo může přesunout do komentáře, neváhejte.)
Toto je další varianta, pouze s použitím ping a grep :
ping -q -c1 -t1 your_host_here | grep -Eo "([0-9]+\.?){4}"
grep -E
pro rozšířený regulární výraz a grep -o
do vrátit pouze odpovídající část. regexp sám hledá jednu nebo více číslic ([0-9]+
) a volitelně tečku (\.?
) čtyřikrát ( {4}
)
Odpověď
Můžete použít host
:
hostname=example.org # strips the IP IP=$( host ${hostname} | sed -e "s/.*\ //" ) # checks for errors if [ $? -ne 0 ] ; then echo "Error: cannot resolve ${hostname}" 1>&2 exit 1; fi
Odpovědět
zde „sa Bash recept Připravil jsem se pomocí odpovědí jiných lidí – nejprve zkusím /etc/hosts
, pak přejdu zpět na nslookup:
resolveip(){ local host="$1" if [ -z "$host" ] then return 1 else local ip=$( getent hosts "$host" | awk "{print $1}" ) if [ -z "$ip" ] then ip=$( dig +short "$host" ) if [ -z "$ip" ] then echo "unable to resolve "$host"" >&2 return 1 else echo "$ip" return 0 fi else echo "$ip" return 0 fi fi }
Komentáře
- Aby bylo jasno,
getent hosts
není ‚ pouze vyhledávání v / etc / hosts – ‚ je plnohodnotné volání DNS na gethostbyaddr (3) a je ‚ s velmi nepravděpodobné, že by selhal v případě, žedig
uspěje. Podívejte se na manuálovou stránku pro získání . - @Stuart má pravdu – ‚ jsem se naučil hodně od té doby, co jsem to napsal, a zjednodušil mocný příkaz.
getent
zůstává mým oblíbeným, i když se mi líbí takédig +short
odpověď
nmap -sP 192.168.178.0/24|grep YOUR_HOSTNAME|sed -n "s/.*[(]\([0-9\.]*\)[)].*/\1/p"
bylo řešení, které jsem našel bez serveru DNS
Odpověď
Možná ne nejstručnější, ale zdá se být robustní a efektivní:
# $(get_host_dns_short "google.com") # # Outputs the IPv4 IP Address of a hostname, resolved by DNS. Returns 0 if DNS # responded successfully; 1 otherwise. Will mask error output. function get_host_dns_short() { ( set -o pipefail host -4 -W1 -t A "$1" 2>/dev/null | awk "/has address/ { print $NF; exit }" ) && return 0 || return 1 }
Tím se vygeneruje jeden protokol IPv4 IP, stejně jako návrat 1
v případě selhání při maskování výstupu stderr.
Můžete jej použít takto:
GOOGLE_IP="$(get_host_dns_short "google.com")" if [[ $? -eq 0 ]]; then echo "Google"s IP is ${GOOGLE_IP}." else echo "Failed to resolve Google"s IP." fi
IP adresa Google je 216.58.192.46.
Pokud místo toho chcete adresu IPv6, jednoduše nahraďte -4
-6
.
odpověď
dig +noall +answer +nocomments example.com | awk "{printf "%-36s\t%s\n", $1, $5 }"
Komentáře
- Nějaký kontext, jakým způsobem by se tato odpověď zlepšila oproti již existujícím být skvělý. Také prosím odsaďte příkazy o 4 mezery (srov. Syntaxi markdownu).
Odpověď
dig je také pomalý, nslookup je mnohem rychlejší
nslookup google.com | grep -Po "Address:\s*[0-9.]+" | tail -1 | sed -e "s/Address:\s*//g"
odpověď
1 řádek vyřeší seznam hostname
for LINE in `cat ~/Desktop/mylist`; do a=$(nslookup $LINE | awk "/^Address: / { print $1 }"); echo $a >> ~/Desktop/ip; done
Odpověď
Dělám to pořád na svém Mac, který nemá getent
. ping
vypadá jako hack. Chtěl bych vzít v úvahu také /etc/hosts
.
Takže jsem napsal hloupou obálku pro dns.lookup
pro vy, kteří máte nainstalovaný Node.js, abyste poskytli CLI:
$ npm install -g lookup-hostname $ lookup google.com 62.243.192.89
Komentáře
- 60% šance rozbití, než se dostanete téměř k vyřešení.
- @dotbit byste to mohli vysvětlit? Tento týden jsem používal ‚ od ‚ 17 a nikdy jsem neměl žádné problémy.
- @Jensen, ale vy ‚ jako jediný vždy jediný. My ostatní obvykle narazíme na FAIL toho či onoho druhu a vždy.
- “ jako vždy “ Co tím myslíte? “ My ostatní “ Kdo ‚ s tím ? “ narazíte na FAIL “ Jaký konkrétní problém vidíte? Jsem ‚ zvědavý.
Odpovědět
Já ne “ Neznáte nejjednodušší způsob bash skriptu, ale pokud chcete vyřešit název hostitele a zjistit, zda je hostitel funkční, použijte ping
!
ping -a hostname -c 1
Bude ping
hostitele jednou a přeloží název hostitele na adresu IP.
$ ping -a www.google.com -c 1 PING www.google.com (216.58.211.132) 56(84) bytes of data. 64 bytes from arn09s10-in-f4.1e100.net (216.58.211.132): icmp_seq=1 ttl=54 time=1.51 ms
Komentáře
- použití pingu je dobré, protože ho má každý, ale musíte filtrujte část IP z výstupů, pokud ji chcete použít ve skriptu.
Odpovědět
Ano, již existuje mnoho odpovědí, ale řešení využívající perl chybí:
perl -MSocket -MNet::hostent -E "say inet_ntoa((gethost shift)->addr)" unix.stackexchange.com
V bash skriptu by to mohlo být použito takto:
#!/bin/bash ipaddr=$(perl -MSocket -MNet::hostent -E "say inet_ntoa((gethost shift)->addr)" unix.stackexchange.com) echo $ipaddr
Zde používané moduly jsou základní moduly, takže by měly být dostupné všude bez instalace pomocí CPAN.
Komentáře
-
perl -MSocket -MNet::hostent -E 'say inet_ntoa((gethost shift)->addr)' unix.stackexchange.com 2>/dev/null
je mnohem čistší. ale nikdo kromě nás dvou nepoužívá p ö rl, všichni ostatní samozřejmě používají Pascal Script. - Vlastně bych raději viděl chybové zprávy, pokud vůbec něco pokazí.
Can't call method "addr" on an undefined value
není ‚ úplně nejlepší chybová zpráva, může však napovědět o problému.
Odpověď
#!/bin/bash systemd-resolve RT.com -t A | awk "{ print $4 ; exit }" systemd-resolve unix.stackexchange.com -t A --legend=no | awk "{ print $4 ; exit }" resolveip -s RT.com dig +short RT.com host RT.com | awk "/has address/ { print $4 }" nslookup RT.com | awk "/^Address: / { print $2 }" ping -q -c 1 -t 1 RT.com | grep PING | sed -e "s/).*//" | sed -e "s/.*(//" ruby -rresolv -e " print Resolv.getaddress "RT.com" " python2 -c "import socket; print socket.gethostbyname("RT.com")" perl -MSocket -MNet::hostent -E "say inet_ntoa((gethost shift)->addr)" RT.com 2>/dev/null php -r "echo gethostbyname( "RT.com" );" echo " all do work for me - take your pick! "
Komentáře
- Rubínová verze tiskne uvozovky kolem IP adresy – místo
p
by měl být pravděpodobně použitprint
. - thx, @Slaven Rezic a klidně hlasujte. pak znovu, tady dole může být skript ve skutečnosti viditelnější … 😉
Odpověď
host -t a cisco.com
tento příkaz zobrazí adresu IP (převezme doménu na IP)
odpověď
Kromě výše uvedeného řešení můžete přeložit více názvů hostitelů na ip pomocí následujícího skriptu, jedinou závislostí je příkaz „ping“ v jádru Unixu:
getip(){ ping -c 1 -t 1 $1 | head -1 | cut -d " " -f 3 | tr -d "()" 2>&1 | tee >> /tmp/result.log & } getip "hostname.number1.net" getip "hostname.number2.net" getip "hostname.number3.net" getip "hostname.number4.net" getip "hostname.number5.net" getip "hostname.number6.net" getip "hostname.number7.net" getip "hostname.number8.net"
$ cat /tmp/result.log ABC.DEF.GHI.XY1 ABC.DEF.GHI.XY2 ABC.DEF.GHI.XY3 ABC.DEF.GHI.XY4 ABC.DEF.GHI.XY5 ABC.DEF.GHI.XY6 ABC.DEF.GHI.XY7 ABC.DEF.GHI.XY8
getent <ahosts|ahostsv4|ahostsv6|hosts> <hostname>
odpověď je někde tam dole u dna. Je ‚ nejjednodušší, nevyžaduje žádné další balíčky a je snadnější analyzovat také ze skriptu Bash.getent hosts somehost
, když běží toto přisomehost
vytvoří adresu IPv6 , která se liší od většiny ostatních nástrojů (ping
,ssh
alespoň) vyřešte jména a rozbijte některé věci. Použijteahosts
místohosts
.ahostsv4
) nebo adresy IPv6 (ahostsv6
)? Osobně mi nic nesedí na nespecifickém požadavku na vrácení IPv6. Váš kód by měl být připraven. Protokol IPv6 je tu již více než 20 let.hosts
a zatím 4 lidé hlasovali pro komentář vinc17 ‚ vyjadřující bolest způsobenou “ najednou IPv6 „. Připravenost na IPv6 není vždy problém: mnoho programů potřebuje způsob, jak určit, zda dvě jména / adresy odkazují na stejného hostitele. Mohou buď použít jednoduchou shodu řetězců, nebo musí vědět hodně o síti, aby našli odpověď “ true „. To druhé je minové pole, takže mnoho programů a systémů třetích stran – nad kterými nemám žádnou kontrolu – používá to první.