NOTA: si tratta dell'indirizzo IP esterno (quello che i server su Internet vedono quando ci si collega a loro) - se si desidera l' indirizzo IP interno (quello che il proprio computer sta usando per le connessioni, che può essere diverso) vedere questo rispondere .
TL; DR - Metodi più veloci nel 2015
Il metodo più veloce utilizzando DNS:
dig +short myip.opendns.com @resolver1.opendns.com
o usando externalip :
externalip dns
Il più veloce usando HTTP:
curl -s http://whatismyip.akamai.com/
o usando externalip:
externalip http
Il più veloce con HTTPS con un certificato valido:
curl -s https://4.ifcfg.me/
o usando externalip:
externalip https
Utilizzando telnet:
Con nc
comando:
nc 4.ifcfg.me 23 | grep IPv4 | cut -d' ' -f4
o usando externalip:
externalip telnet
Con telnet
comando:
telnet 4.ifcfg.me 2>&1 | grep IPv4 | cut -d' ' -f4
Usando FTP:
echo close | ftp 4.ifcfg.me | awk '{print $4; exit}'
o usando externalip:
externalip ftp
Tutto quanto sopra può essere eseguito usando il mio script externalip come:
externalip dns
externalip http
externalip https
externalip telnet
externalip ftp
Ora una lunga storia ...
Esistono molte opzioni di diversi server che forniscono l'IP esterno, specialmente via HTTP, pubblicato qui o altrove.
Ho fatto un punto di riferimento per vedere se qualcuno di loro è migliore degli altri e sono rimasto sorpreso dai risultati. Ad esempio, uno dei ifconfig.me più ampiamente raccomandato è stato quasi sempre il più lento per me, a volte impiegando molti secondi per rispondere. Molti non funzionano su HTTPS o funzionano ma hanno certificati non validi. Alcuni hanno tempi di risposta molto incoerenti.
benchmark
HTTP e HTTPS
Questa è la fonte del mio script di benchmark esterno che ho usato:
Puoi eseguirlo tu stesso per vedere quali servizi menzionati qui valgono la pena utilizzare:
wget https://raw.githubusercontent.com/rsp/scripts/master/externalip-benchmark
chmod a+x externalip-benchmark
./externalip-benchmark
I miei risultati che ho ottenuto il 03-04-2015 da Varsavia - gli indirizzi sono stati cambiati per proteggere gli innocenti:
I migliori tempi di risposta http:
0.086s http://ip.tyk.nu/ - answer='172.31.133.7'
0.089s http://whatismyip.akamai.com/ - answer='172.31.133.7'
0.091s http://tnx.nl/ip - answer='172.31.133.7'
0.117s http://ifcfg.me/ - answer='172.31.133.7'
0.156s http://l2.io/ip - answer='172.31.133.7'
0.317s http://ip.appspot.com/ - answer='172.31.133.7'
0.336s http://ident.me/ - answer='172.31.133.7'
0.338s http://ipof.in/txt - answer='172.31.133.7'
0.347s http://icanhazip.com/ - answer='172.31.133.7'
0.496s http://curlmyip.com/ - answer='172.31.133.7'
0.527s http://wgetip.com/ - answer='172.31.133.7'
0.548s http://curlmyip.com/ - answer='172.31.133.7'
0.665s http://bot.whatismyipaddress.com/ - answer='172.31.133.7'
0.665s http://eth0.me/ - answer='172.31.133.7'
1.041s http://ifconfig.me/ - answer='172.31.133.7'
1.049s http://corz.org/ip - answer='172.31.133.7'
1.598s http://ipecho.net/plain - answer='172.31.133.7'
Migliori tempi di risposta https:
0.028s https://curlmyip.com/ - answer=''
0.028s https://curlmyip.com/ - answer=''
0.029s https://l2.io/ip - answer=''
0.029s https://tnx.nl/ip - answer=''
0.072s https://whatismyip.akamai.com/ - answer=''
0.113s https://ipecho.net/plain - answer=''
0.117s https://ident.me/ - answer=''
0.207s https://ip.tyk.nu/ - answer='172.31.133.7'
0.214s https://ipof.in/txt - answer='172.31.133.7'
0.259s https://ifcfg.me/ - answer='172.31.133.7'
0.289s https://corz.org/ip - answer=''
0.436s https://ip.appspot.com/ - answer='172.31.133.7'
0.448s https://bot.whatismyipaddress.com/ - answer=''
0.454s https://eth0.me/ - answer=''
0.673s https://icanhazip.com/ - answer='172.31.133.7'
5.255s https://ifconfig.me/ - answer=''
10.000s https://wgetip.com/ - answer=''
(Nota: ci sono alcune risposte rapide con contenuto vuoto - quelle non sono valide).
Migliori tempi medi di ping:
10.210 //whatismyip.akamai.com/
36.820 //tnx.nl/ip
37.169 //ip.tyk.nu/
39.412 //ipof.in/txt
40.967 //ident.me/
41.257 //ipecho.net/plain
43.918 //ifcfg.me/
45.720 //l2.io/ip
64.749 //ip.appspot.com/
123.412 //corz.org/ip
134.245 //wgetip.com/
157.997 //icanhazip.com/
161.613 //curlmyip.com/
162.100 //curlmyip.com/
268.734 //ifconfig.me/
999999 //bot.whatismyipaddress.com/
999999 //eth0.me/
Ecco i risultati che ho ottenuto il 03-04-2015 da Amsterdam:
I migliori tempi di risposta http:
0.021s http://ipecho.net/plain - answer='172.31.13.37'
0.027s http://tnx.nl/ip - answer='172.31.13.37'
0.035s http://whatismyip.akamai.com/ - answer='172.31.13.37'
0.039s http://ifcfg.me/ - answer='172.31.13.37'
0.045s http://l2.io/ip - answer='172.31.13.37'
0.142s http://ident.me/ - answer='172.31.13.37'
0.144s http://ipof.in/txt - answer='172.31.13.37'
0.150s http://ip.appspot.com/ - answer='172.31.13.37'
0.150s http://ip.tyk.nu/ - answer='172.31.13.37'
0.170s http://icanhazip.com/ - answer='172.31.13.37'
0.190s http://eth0.me/ - answer='172.31.13.37'
0.191s http://wgetip.com/ - answer='172.31.13.37'
0.301s http://curlmyip.com/ - answer='172.31.13.37'
0.330s http://bot.whatismyipaddress.com/ - answer='172.31.13.37'
0.343s http://curlmyip.com/ - answer='172.31.13.37'
0.485s http://corz.org/ip - answer='172.31.13.37'
3.549s http://ifconfig.me/ - answer='172.31.13.37'
Migliori tempi di risposta https:
0.004s https://curlmyip.com/ - answer=''
0.012s https://curlmyip.com/ - answer=''
0.012s https://tnx.nl/ip - answer=''
0.016s https://ipecho.net/plain - answer=''
0.071s https://whatismyip.akamai.com/ - answer=''
0.096s https://ifcfg.me/ - answer='172.31.13.37'
0.097s https://ident.me/ - answer=''
0.187s https://corz.org/ip - answer=''
0.187s https://ip.appspot.com/ - answer='172.31.13.37'
0.189s https://ip.tyk.nu/ - answer='172.31.13.37'
0.195s https://eth0.me/ - answer=''
0.253s https://l2.io/ip - answer=''
0.300s https://ipof.in/txt - answer='172.31.13.37'
0.324s https://bot.whatismyipaddress.com/ - answer=''
0.512s https://icanhazip.com/ - answer='172.31.13.37'
1.272s https://ifconfig.me/ - answer=''
10.002s https://wgetip.com/ - answer=''
Migliori tempi medi di ping:
1.020 //ipecho.net/plain
1.087 //whatismyip.akamai.com/
5.011 //ip.appspot.com/
6.942 //ident.me/
7.017 //ipof.in/txt
8.209 //tnx.nl/ip
11.343 //ip.tyk.nu/
12.647 //ifcfg.me/
13.828 //l2.io/ip
81.642 //icanhazip.com/
85.447 //wgetip.com/
91.473 //corz.org/ip
102.569 //curlmyip.com/
102.627 //curlmyip.com/
247.052 //ifconfig.me/
999999 //bot.whatismyipaddress.com/
999999 //eth0.me/
(I ping 999999 significano una perdita di pacchetti del 100%.)
DNS
Per un confronto qui ci sono volte che prendono altri metodi - testati il 16-06-2015 da Varsavia e Amsterdam.
usando:
time dig +short myip.opendns.com @resolver1.opendns.com
richiede solitamente (tempo reale dell'orologio a muro) circa:
- 0.035s da Varsavia
- 0,015 da Amsterdam
In realtà ci sono quattro resolver che possono essere usati in questo modo:
- resolver1.opendns.com
- resolver2.opendns.com
- resolver3.opendns.com
- resolver4.opendns.com
Offrono tutti gli stessi tempi di risposta a Varsavia e Amsterdam, ma questo potrebbe non essere il caso in altre località.
Utilizzando 208.67.222.222 - l'IP di resolver1.opendns.com invece del suo nome di dominio è più veloce:
- 0.023s da Varsavia
- 0.009s da Amsterdam
ma potrebbe non funzionare in futuro se l'IP dovesse mai cambiare (anche se potrebbe non essere probabile per un noto risolutore DNS - forse dovrei usare l'IP nel mio script externalip - per favore, commenta).
Telnet
Telnet con nc
o telnet
comando (vedi sopra) di solito prende:
- 0.103s da Varsavia
- 0.035s da Amsterdam
(Non vi è alcuna differenza evidente tra nc
e telnet
comandi.)
FTP
- 0.104s da Varsavia
- 0.036s da Amsterdam
Nomi di dominio
Tutti i metodi saranno più veloci (soprattutto quando eseguiti per la prima volta) quando verranno utilizzati gli indirizzi IP anziché i nomi di dominio dei servizi forniti (tranne con HTTP che può utilizzare server virtuali basati su host e non funzionare con IP nudo - non testato) ma smetterà di funzionare quando i servizi cambiano l'indirizzo IP, quindi potrebbe essere più veloce ma meno a prova di futuro.
Commenti
Se vedi alcuni risultati interessanti dalla tua posizione o se ritieni che alcuni altri host dovrebbero essere raccomandati al posto di quelli che ho scelto, ti preghiamo di pubblicare un commento. Se manca qualche servizio importante, si prega di commentare o pubblicare un problema su GitHub. Vorrei mantenere questo post aggiornato con una scelta attuale di servizi con le migliori prestazioni.