четверг, 19 марта 2009 г.

Узнать внейшний IP из консоли

Порой бывает сидишь в конторе/дома/через мобилу/у друга/в гостях/в кафе в инете и тебе по какой-то причине понадобилось узнать внешний IP. У кого такого не было? У меня сплошь и рядом. И решается этот вопрос не просто, а очень просто.

Для этого делаем в своем ~/.bashrc (или какой у вас там?) новую функцию:
# Узнать свой внешний IP
wanip() {
wget -q -O - http://checkip.dyndns.com/ | /bin/grep -Eio '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
}
Теперь, если ввести в консольке wanip, то в ответ получим свой внешний IP )))


Еще варианты:
lynx --source http://formyip.com/ | awk '/The/{print $5}'
wget -q -O - http://formyip.com/ | awk '/The/{print $5}'
wget -q -O - http://checkip.dyndns.com/ | awk '{print $6}' | sed 's/<.*>//'




5 комментариев:

  1. Ты наверно не понял сути :)
    Если тебе надо из скрипта узнать внешний IP? А тут уже кучка, готовых вариантов есть :)

    ОтветитьУдалить
  2. Я чуть короче делаю:

    wget -q http://checkip.dyndns.com/ -O - | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}"

    хотя суть конечно же не меняется. :)

    ОтветитьУдалить
  3. Вот вот :) За что я и люблю Linux :) Вариантов решения одной и той же задачи масса, а главное стандартными средствами.

    Только есть одно "но" к твоему комменту: не во всех линуксах есть "egrep", все же лучше использовать "grep -E" :)


    Для новичков в мире пингвиноводов:
    Вариант от Olly Cat является укороченной записью моего варинта, т.е. '([0-9]{1,3}\.){3}[0-9]{1,3}' == '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'.

    ОтветитьУдалить