Какую команду использовать для получения публичного IP-адреса? bash, mac
Какую команду использовать для получения публичного IP-адреса?
Ответы (4 шт):
Я делаю так:
curl -s ipinfo.io/what-is-my-ip | python -c "import sys, json; print(json.load(sys.stdin)['ip'])"
Вот улучшенное решение (спасибо @aleksandrbarakin)
curl ipinfo.io/ip
Перевод части ответа отсюда
ПРИМЕЧАНИЕ. Это внешний IP-адрес (тот, который серверы в Интернете видят при подключении к ним) - если вы хотите внутренний IP-адрес (тот, который используется вашим собственным компьютером для соединения, которые могут отличаться) см. этот ответ.
TL; DR - Самые быстрые методы в 2015 году знак равно
Самый быстрый способ с использованием DNS:
dig + short myip.opendns.com @ resolver1.opendns.com
или используя externalip:
externalip dns
Самый быстрый с использованием HTTP:
curl -s http://whatismyip.akamai.com/
или используя externalip:
externalip http
Самый быстрый, использующий HTTPS с действующим сертификатом:
curl -s https://4.ifcfg.me/
или используя externalip:
externalip https
Использование telnet:
С командой nc:
nc 4.ifcfg.me 23 | grep IPv4 | cut -d '' -f4
или используя externalip:
externalip telnet
С командой telnet:
telnet 4.ifcfg.me 2> & 1 | grep IPv4 | cut -d '' -f4
Использование FTP:
эхо близко | ftp 4.ifcfg.me | awk '{print $ 4; выход}'
или используя externalip:
externalip ftp
Все вышеперечисленное можно запустить с помощью моего сценария
externalip следующим образом:
externalip dns
externalip http
externalip https
externalip telnet
externalip ftp
Теперь длинная история ... Существует множество опций для разных серверов, предоставляющих внешний IP, особенно через HTTP, размещенный здесь или в другом месте.
Я сделал тест, чтобы увидеть, является ли какой-либо из них лучше, чем другие, и я был удивлен результатами. Например. один из наиболее рекомендуемых файлов ifconfig.me был почти всегда самым медленным для меня, иногда на ответ приходилось много секунд. Многие не работают по HTTPS или работают, но имеют недействительные сертификаты. У некоторых очень противоречивое время отклика.
Ориентиры
HTTP и HTTPS
Это источник моего скрипта externalip-benchmark, который я использовал:
https://raw.githubusercontent.com/rsp/scripts/master/externalip-benchmark
Вы можете запустить его самостоятельно, чтобы увидеть, какие службы, упомянутые здесь, стоит использовать:
wget https://raw.githubusercontent.com/rsp/scripts/master/externalip-benchmark
chmod a + x externalip-тест
./externalip-benchmark
Мои результаты, которые я получил 2015-04-03 из Варшавы :
Лучшее время отклика 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,156 с 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,548 с 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'
Лучшие времена ответа 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,214 с https://ipof.in/txt - answer = '172.31.133.7'
0,259 с 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,448 с https://bot.whatismyipaddress.com/ - answer = ''
0,454 с https://eth0.me/ - answer = ''
0.673s https://icanhazip.com/ - answer = '172.31.133.7'
5.255 с https://ifconfig.me/ - answer = ''
10.000s https://wgetip.com/ - answer = ''
(Примечание: есть быстрые ответы с пустым содержимым - они недействительны.)
Лучшее среднее время пинга:
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/