Я ищу способ получить свой IP-адрес с помощью командной строки в Linux. Я знаю, что когда вы набираете "ifconfig", вы можете получить свой локальный IP-адрес (то есть 192.168.0.103), но я ищу свой IP-адрес, полученный от моего провайдера. Как я могу получить это из Linux, не посещая какой-либо сайт?
3 ответа
Если вашей машине назначен локальный IP-адрес, он может не знать ваш общедоступный адрес. Вы можете запросить сервер не в вашей локальной сети, чтобы узнать ваш общедоступный адрес.
$ curl whatismyip.org
Если ваш компьютер находится, например, в корпоративной локальной сети с брандмауэром для преобразования адресов, к сожалению, на вашем компьютере нет информации о внешне видимом адресе. Ваш компьютер знает, что у него есть локальный IP-адрес (например, 192.168.0.103), который можно использовать для подключения к любому хосту в Интернете. Брандмауэр для преобразования адресов полностью прозрачен с точки зрения вашего компьютера.
Единственный способ - использовать внешнего "наблюдателя", такого как whatismyip.org, чтобы помочь. Если вам не нравится доступ к нему через полноценный веб-браузер, это альтернатива, как отметил Самуэль К.
Добавьте это в файл ~/.bashrc в Linux или ~/.bash_profile на Mac.
alias myip='wget http://automation.whatismyip.com/n09230945.asp -O - -q ; echo'
Тогда беги
source ~/.bashrc
или же:
source ~/.bash_profile
Source активирует внесенные вами изменения в ваш bash-файл. Это требуется только один раз.
Теперь введите «myip» из командной строки, и вы получите публичный IP-адрес.
:# myip
23.23.133.111