- Linux command for public ip address
- 12 Answers 12
- Как узнать свой внешний IP адрес из консоли linux и Windows
- Как узнать внешний IP адрес из консоли Linux
- Как узнать внешний IP адрес из консоли (командной строки) Windows
- Благодарности
- Обсуждение (комментарии к статье)
- Добавить комментарий Отменить ответ
- Ubuntu: как узнать IP-адрес сервера / компьютера
- Как узнать IP Ubuntu Linux через терминал
- Как посмотреть локальный IP-адрес Ubuntu: команда hostname
- Узнать IP на старых дистрибутивах Ubuntu — ifconfig
- Как проверить IP-адрес Ubuntu через графический интерфейс
- Как узнать внешний IP-адрес Ubuntu Linux
- Как узнать внешний ip из консоли
Linux command for public ip address
and many more. But they all are giving me internal IP Address. Then I found some sites which provides API for this. Example : curl http://ipecho.net/plain; echo But I don’t want to rely on third party website service. So, is there any command line tool available to get external IP Address?
12 Answers 12
You could use this script
# !/bin/bash # echo 'Your external IP is: ' curl -4 icanhazip.com
But that is relying on a third party albeit a reliable one. I don’t know if you can get your external IP without asking someone/somesite i.e. some third party for it, but what do I know.
This is doing the same thing as a command the -4 is to get the output in Ipv4
You can use this command to get public ip and private ip(second line is private ip; third line is public ip.)
It’s the cleanest solution, it’s sad that most of articles / answers using external resources to get IP instead of this simple solution
simplest of all would be to do : curl ifconfig.me
Yes, it works fine as I have mentioned in my question, But I do not want to depend on this third party service. What if that server stop this service in future?
I would suggest you to use the command external-ip ( sudo apt-get install miniupnpc ) as it (I’m almost sure) uses upnp protocol to ask the router instead of asking an external website so it should be faster, but of course the router has to have upnp enabled.
The super-easy way is using the glances tool. you can install it on Ubuntu using:
and at the top of the terminal, it highlights your public IP address, and so many other information about your system (like what htop does) and network status.
It might not work on amazon because you might be using NAT or something for the server to access the rest of the world (and for you to ssh into it also). If you are unable to ssh into the ip that is listed in ifconfig then you are either in a different network or dont have ssh enabled.
ifconfig eth0 | awk '/inet / < print $2 >' | sed 's/addr://'
That returns whatever is IP address assigned to your eth0 device. So if your server is hosted on Amazon, and was assigned an internal IP address, and since Amazon instances are using NAT, that’s what you’d see. If you want a sure reliable way of getting your external, public IP address, then use one of the external service like ifconfig.me.
This is the best I can do (only relies on my ISP):
ISP=`traceroute -M 2 -m 2 -n -q 1 8.8.8.8 | grep -m 1 -Eo '1\.6\.2\.7'` extIP=`ping -R -c 1 -t 1 -s 1 -n $ISP | grep RR | grep -m 1 -Eo '5\.1\.3\.7'` echo $extIP
Or, the functionally same thing on one line:
ISP=`traceroute -M 2 -m 2 -n -q 1 8.8.8.8 | grep -m 1 -Eo '6\.8\.2\.3'` | ping -R -c 1 -t 1 -s 1 -n $ISP | grep RR | grep -m 1 -Eo '7\.7\.6\.5'
to save it to a temporary & hidden file add > .extIP to the end of the last line, then cat .extIP to see it.
If your ISP’s address never changes (honestly i’m not sure if it would or not), then you could fetch it once, and then replace $ISP in line two with it
This has been tested on a mac with wonderful success. the only adjustment on linux that I’ve found so far is the traceroute «-M» flag might need to be «-f» instead and it relies heavily on the ping’s «-R» flag, which tells it to send back the «Record Route» information, which isn’t always supported by the host. But it’s worth a try!
the only other way to do this without relying on any external servers is to get it from curl’ing your modem’s status page. I’ve done this successfully with our frontier DSL modem, but it’s dirty, slow, unreliable, and requires hard-coding your modem’s password. Here’s the «process» for that:
curl http://[user]:[password]@[modem's LAN address]/[status.html] | grep 'WanIPAddress =' | grep -m 1 -Eo '8\.6\.6\.9'
That fetches the raw html, searches for any lines containing «WanIpAddress mt24″>
Как узнать свой внешний IP адрес из консоли linux и Windows
Проще всего узнать свой внешний IP адрес с помощью браузера посетив один из популярных сайтов, например https://ya.ru/internet/, https://2ip.ru/ или https://whoer.net/ru. Но как быть если у вас доступ только к консоли или сервер и вовсе не имеет графического окружения?
Как узнать внешний IP адрес из консоли Linux
Чтобы узнать свой внешний IP адрес нужно выполнить в консоли одну из следующих команд:
Результат должен быть примерно следующим:
Как узнать внешний IP адрес из консоли (командной строки) Windows
Чтобы определить свой внешний IP адрес из командной строки (консоли) в операционной системе Windows можно воспользоваться утилитой NSLOOKUP сделав следующий запрос:
nslookup myip.opendns.com. resolver1.opendns.com
Результат будет примерно таким:
Благодарности
При написании статьи были использованы следующие ресурсы:
Обсуждение (комментарии к статье)
Есть одна бяка. Если клиент умеет ipv6, то nslookup myip.opendns.com. resolver1.opendns.com уже не работает так как подразумевалось.
Самый простой вариант PowerShell командой:
Invoke-WebRequest ipv4.icanhazip.com или в скрипт (Invoke-WebRequest ipv4.icanhazip.com).content
Можно воспользоваться алиасом wget
Добавить комментарий Отменить ответ
- Безопасность
- Вебмастеру
- HTML & CSS
- JAVA & PHP
- MySQL
- SSL сертификаты
- WordPress
- Дизайн
- Домены и хостинг
- Обзоры хостинга
- Панели управления хостингом
- Поисковая оптимизация
- Резервное копирование
- Рулетка
- Форекс и Бинарные опционы
- Android
- FireFox
- FreeBSD
- GNU Linux — CentOS / Debian
- Microsoft Office
- Windows
- Антивирусы
- Евгений Попов
Ubuntu: как узнать IP-адрес сервера / компьютера
Для идентификации ПК в интернете используется свой уникальный IP-адрес, с помощью которого можно обратиться к этому устройству и установить соединение. В этой статье рассмотрим, как узнать IP-адрес Ubuntu Linux на сервере или домашнем компьютере.
Как узнать IP Ubuntu Linux через терминал
Для того, чтобы узнать IP-адрес Ubuntu Linux необходимо выполнить следующую пошаговую инструкцию:
- Запустить терминал. Для этого можно воспользоваться горячими клавишами Ctrl + Shift + T или открыть его из меню с программами;
- Ввести команду $ ip address (либо – одну из вариаций данной команды: ip addr , ip addr show или ip a );
- В консоли отобразится список всех текущих сетевых интерфейсов и их параметров. В зависимости от типа подключения нужно найти Ethernet-интерфейс (подписывается следующим образом: enp0s3, eth0) или WiFi (подписывается следующим образом: wlp2s0, wlan0, цифры могут отличаться).
Внутренний IP-адрес высвечивается в строке inet . На скриншоте ниже это 192.168.0.10/24, где 192.168.0.10 — IP-адрес, а 24 – маска подсети.
Данная команда работает и в других версиях Linux: Debian, Centos.
Как посмотреть локальный IP-адрес Ubuntu: команда hostname
Еще одна команда, которой можно воспользоваться для того, чтобы посмотреть IP-адрес Ubuntu:
В результате на экран выведется информация о всех сетевых адресах хоста, за исключением loopback интерфейса. Если установлено одно единственное соединение, то покажется лишь IP.
Узнать IP на старых дистрибутивах Ubuntu — ifconfig
В старых дистрибутивах Ubuntu можно прописать команду:
В новых она уже не поддерживается.
Как проверить IP-адрес Ubuntu через графический интерфейс
Если в системе присутствует встроенный графический интерфейс, то можно узнать IP-адрес компьютера следующим образом:
- Открыть параметры системы;
- Перейти в раздел «Сеть»;
- Нажать на кнопку с иконкой шестеренки рядом с информацией о сетевом подключении;
- В первой вкладке «Сведения о системе» отобразится текущий IP.
Как узнать внешний IP-адрес Ubuntu Linux
Что касается IP-адреса внешнего – публичного, глобально маршрутизируемого, назначаемому устройству, позволяя ему получить доступ в сеть интернет, то для его определения необходимо связаться с удаленным сервером посредством протоколов HTTP / HTTPS или DNS.
Чтобы узнать внешний IP-адрес Ubuntu Linux можно в терминале, запускаемом сочетанием клавиш Ctrl + Shift + T , ввести одну из следующих команд:
$ dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F’»‘ ‘< print $2>’
Если есть GUI, то можно просто зайти через браузер на любой сайт, показывающий внешний IP.
Не нашли ответ? Тогда воспользуйтесь формой поиска:
Как узнать внешний ip из консоли
Доброго дня дорогие читатели. Сегодня хочу затронуть тему о том как узнать внешний ip из консоли.
Есть много других вариантов как узнать свой внешний ip адрес, например, открыть браузер и зайти на сайт. Определяющий ваш внешний ip адрес сайтов достаточно много, найти их не составит труда. Но есть определенные моменты когда браузера нет в системе. Например, есть у вас Asterisk только с консольным доступом. Для настройки sip провайдера и привязки его к внешнему ip нужно его указать. Сеть в организации может быть большая и точно определить внешний ip адрес возможно лишь с сервера Asterisk.
Можно привести и другой пример, сервер Windows Core или бесплатный Hyper-V, там тоже изначально только консоль. Давайте уже узнаем наш внешний ip адрес
Узнать внешний ip адрес из консоли Linux
Данный метод работоспособен для Ubuntu, Centos, Gentoo и прочих дистрибутивов
На случай если указанный выше сайт перестанет работать ниже приведу еще несколько рабочих вариантов
wget -qO- ipecho.net/plain curl ifconfig.me wget -O - -q ifconfig.me/ip
Узнать внешний ip адрес из консоли Windows
Nslookup
Определить ваш внешний адрес из консоли WIndows можно с помощью утилиты nslookup. Обычно nslookup используется для проверки работы DNS. Есть один хитрый способ, как с помощью данной утилиты узнать свой внешний ip адрес. Выполним следующую команду:
nslookup myip.opendns.com. resolver1.opendns.com
Мы выполнили запрос к серверу DNS под названием resolver1.opendns.com. Он в свою очередь должен был выдать нам ip адрес доменного имени myip.opendns.com. Но весь смысл в том, что DNS сервер resolver1.opendns.com настроен так, чтобы при запросе конкретного домена выдавать ip адрес с которого поступил запрос. Вот так без особых усилий мы узнали наш внешний ip.
Powershell
Можно использовать и Powershell. Будет удобно для дальнейшей работы с ip в ваших скриптах.
$ip = new-object System.Net.WebClient $ip.DownloadString("http://ipinfo.io/ip")