Какую команду использовать для получения публичного IP-адреса? bash, mac

Какую команду использовать для получения публичного IP-адреса?


Ответы (4 шт):

Автор решения: Victor VosMottor thanks Monica

Я делаю так:

curl -s  ipinfo.io/what-is-my-ip | python -c "import sys, json; print(json.load(sys.stdin)['ip'])"
→ Ссылка
Автор решения: Victor VosMottor thanks Monica

Вот улучшенное решение (спасибо @aleksandrbarakin)

curl ipinfo.io/ip
→ Ссылка
Автор решения: aa.arsenenko

Bash — 16 bytes

Как вариант ipconfig.io:

in: curl ipconfig.io
out: 37.146.**.**
→ Ссылка
Автор решения: Victor VosMottor thanks Monica

Перевод части ответа отсюда


ПРИМЕЧАНИЕ. Это внешний 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/
→ Ссылка