Привет. Порой из консоли необходимо быстренько узнать свой внешний айпишник. Например, накрутил какой-нибудь VPN, а графической оболочки нет, чтобы зайти на сайт и визуально глянуть где сегодня находится моя жопа.



Да и в bash скриптах иногда хочется без длинных команд и тонны кода обойтись. Короче как говорит, все уже придумано за нас. А если еще и алиасы накрутить, вай вай, пэрсик.



Я пользуюсь двумя сервисами:



curl ifconfig.me

curl geofind.me




Первый выдаст чисто айпишник, который ты сможешь загнать в переменную и потом его использовать.



Второй помимо айпишника, вычислит местоположение.



94.227.165.240

International Ltd

Ulitsa Pushkina, Dom Kolotushkina, Austria




Второй вариант использую намного реже. Так как привык всё усложнять, сначала получаю ip через ifconfig.me, а потом уже через whois <ip>.



Подобных сервисов полно, я показал чем пользуюсь сам.



Альтернативы:



curl ipinfo.io/ip

curl ipecho.net/plain

curl icanhazip.com

curl ident.me

curl api64.ipify.org

curl api.ip.sb/ip

curl ipv4.wtfismyip.com/text

curl ip2location.io/ip

curl checkip.amazonaws.com




С дополнительной инфой:



curl ip-api.com/line

curl ipinfo.io

curl api.myip.com

curl 'api.ipregistry.co/?key=tryout'




В списке с «дополнительной инфой» есть сервисы которые прям богатый JSON выплёвывают, потыкай.



Я раньше обладал безлимитным API ключом для MaxMind, вот там да, был полный фарш. Можно было по IP узнавать вплоть до названия организации. Даже софтину в бородатые 2000е писал, которая пользовалась популярностью у пентестеров.



Но если у тебя есть ключик, узнать свой айпишник можешь через команду:



curl -H "Authorization: KEY" https://geoip.maxmind.com/geoip/v2.1/city/me




Ааа, еще вариант с дигом есть, но оно длинное:



dig +short myip.opendns.com @resolver1.opendns.com




Есть и минусы. Результат зависит от доступности сервисов. Если сервис выплюнет соплю > 200, увы все поломается.



Поэтому если используешь это в bash скриптах, советую добавлять сервисы в массив пачкой и делать ротацию. Если один выдал соплю, брать информацию с другого. В принципе это бест-практики в любых алгоритмах для отказоустойчивых систем.



Ладно, сегодня еще увидимся, далеко не уходи. Хорошего дня!



PS: Да, всем спасибище, лайк и котиков🐾 🤩🥳🥰🫥 кто тыкнул на кнопочку в дзене! Вы супер, обнял!



tags: #linux #bash #networks



💩 @bashdays