Get ip by url linux

Methods to detect public IP address in bash

As part of an installation script, I want to make an «educated guess» about the machines public IP address. It should be as robust as possible, working on a variety of hosts and platforms. Here is an example: https://gist.github.com/4669037 This script uses 3 methods and then defaults to the value of /etc/hostname . I have only tested this on Ubuntu so far. Will this be likely to work on other distributions? And are there additional methods that I could add?

The answer below curl ifconfig.me is great. But I want fallback methods in case curl is not available or the ifconfig.me site is unavailable.

@ruakh the example script already has 2> /dev/null in the curl line. Wouldn’t that hide the curl error?

See this answer which has a script trying various DNS servers and HTTP services until it gets a reply. It uses dig or curl or wget (in that order) depending on which one it finds in the path. The list of servers is good as of Feb. 2017.

14 Answers 14

You can find other ip reporting websites instead of ipinfo.io as well. To name a few:

Also, what is my ip shows more information about that ip.

Thanks these are great. Now I just need a local fallback method in case these hosts are unavailable during installation.

curl ifconfig.me would be the best choice, in case you don’t have curl:

If on an AWS EC2 you can use:

NOTE: this service can be used from any web client.

How much public public IP are you looking for? What if the machine is behind NAT?

  • curl / wget / netcat ( nc ) which contains requester’s address: should work most of the time, but may the site may be unreachable from the machine (be it firewall or temporary/permanent unavailability). You’ll get the most public IP you can.
  • ifconfig : must run as root, otherwise you’d have to try /sbin/ifconfig or /usr/sbin/ifconfig as well. What if the machine has more NICs? How do you tell what IP is the right one? What if only IPv6 is used on the machine’s LAN? In any case, you’ll get the least public IP you can (and possibly a wrong one if more interfaces are configured on the machine — which often is the case these days with omnipresent virtualization using network tap devices and/or).
  • /etc/hostname : does not need to exist, on many systems it is /etc/HOSTNAME , and it does not contain IP address rather it should contain the hostname (usually the FQDN).
Читайте также:  Running qt creator on linux

The point is, that the ways in which it can fail are numerous and you probably should consider either a) specifying more precisely what systems you are targeting or b) whether you really need to know the IP at all — is a solution that seems to work in simple cases worth using when it fails miserably in slightly more complicated setup? If you think you need the IP, prepare a way to handle failures gracefully in cases where you either don’t get the IP at all or you get a wrong one.

Источник

Как найти IP-адрес сайта в Linux

Favorite

Добавить в избранное

Как найти IP-адрес сайта в Linux

Н айти общедоступный IP-адрес сервера сайта довольно просто. На самом деле, есть несколько инструментов командной строки, которые вы можете использовать, чтобы найти IP-адрес веб-сайта.

Недавно мы показали вам, как найти IP-адрес в Linux. В этой статье мы покажем вам некоторые из этих команд.

Команды для поиска IP-адреса сайта в Linux

Обратите внимание, что вам, возможно, придется установить некоторые из этих утилит, упомянутых здесь. Хорошей новостью является то, что они доступны в стандартных репозиториях большинства дистрибутивов Linux. Вы можете легко установить их, используя менеджер пакетов вашего дистрибутива.

Способ 1: получить IP-адрес веб-сайта с помощью команды dig

Dig — это утилита поиска DNS. Единственная цель этой команды — выполнить поиск DNS и отобразить ответы, возвращаемые сервером имен запрашиваемого веб-сайта.

Пример вывода для команды dig выглядит следующим образом:

; > DiG 9.10.3-P4-Ubuntu > yandex.ru ;; global options: +cmd ;; Got answer: ;; ->>HEADER

Вы можете увидеть IP-адрес веб-сайта в разделе «ANSWER SECTION».

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

Способ 2: используйте команду nslookup, чтобы найти IP-адрес сайта в Linux

Как и dig, nslookup также используется для запроса записей DNS. nslookup означает «поиск сервера имен».

Вам может понадобиться установить nslookup. Если у вас есть доступ sudo, вы можете использовать команду установки вашего дистрибутива Linux для установки этого инструмента. В Debian и Ubuntu команда ниже установит nslookup:

sudo apt install nslookup

Если у вас есть инструмент, просто используйте его следующим образом:

Например, если мы пытаемся получить IP-адрес yandex.ru, то получаем следующий вывод:

Server: 188.120.247.2 Address: 188.120.247.2#53 Non-authoritative answer: Name: yandex.ru Address: 77.88.55.66 Name: yandex.ru Address: 5.255.255.60 Name: yandex.ru Address: 77.88.55.60 Name: yandex.ru Address: 5.255.255.55

Способ 3: получить IP-адрес веб-сайта с помощью команды host

Как и вышеупомянутые два, host также является утилитой поиска DNS. Но в отличие от двух вышеупомянутых команд, вывод команды host аккуратен и точен. Он просто отображает IPv4 и IPv6 адреса веб-сайта.

Вы можете использовать это так:

Пример вывода будет выглядеть так:

host facebook.com facebook.com has address 157.240.13.35 facebook.com has IPv6 address 2a03:2880:f139:83:face:b00c:0:25de facebook.com mail is handled by 10 msgin.vvv.facebook.com.

Способ 4: получить IP-адрес веб-сайта с помощью команды ping в Linux

Давайте посмотрим, как получить IP-адрес веб-сайта с помощью команды ping в Linux.

Команда Ping используется для проверки работоспособности удаленного хоста. Вы можете использовать либо IP-адрес сервера, либо URL-адрес. Синтаксис почти такой же.

Пример вывода для facebook.com выглядит следующим образом:

PING yandex.ru (5.255.255.55) 56(84) bytes of data. 64 bytes from yandex.ru (5.255.255.55): icmp_seq=1 ttl=51 time=4.16 ms 64 bytes from yandex.ru (5.255.255.55): icmp_seq=2 ttl=51 time=4.10 ms 64 bytes from yandex.ru (5.255.255.55): icmp_seq=3 ttl=51 time=4.05 ms 64 bytes from yandex.ru (5.255.255.55): icmp_seq=4 ttl=51 time=4.09 ms 64 bytes from yandex.ru (5.255.255.55): icmp_seq=5 ttl=51 time=4.01 ms 64 bytes from yandex.ru (5.255.255.55): icmp_seq=6 ttl=51 time=3.98 ms 64 bytes from yandex.ru (5.255.255.55): icmp_seq=7 ttl=51 time=4.13 ms ^C --- yandex.ru ping statistics --- 7 packets transmitted, 7 received, 0% packet loss, time 6008ms rtt min/avg/max/mdev = 3.982/4.079/4.162/0.060 ms

Вам придется использовать Ctrl + C, чтобы остановить команду ping.

Заключение

Итак, вы только что увидели три сетевых инструмента, которые дали бы вам одинаковый результат. Мы надеемся, что этот быстрый совет по Linux помог вам найти IP-адрес веб-сайта в терминале Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

How to Find the IP Address of a Website in Linux

Wondering how to get the IP address of a website in Linux? Here are 3 command line utilities to query the DNS and get you the IP address and other details.

How do I find the IP address of a website using Linux terminal?

Finding the public IP address of a website’s server is quite easy. In fact, there are several command line tools you can use to find the IP address of a website.

In an earlier article, I showed you how to find IP address in Linux. In this one, I am going to show you some of those commands here.

Commands to find IP address of a website in Linux

Do note that you might have to install some of these utilities mentioned here. Good news is that they are available in the default repositories of most Linux distributions. You can easily install them using the package manager of your distribution.

Method 1: Get website IP address with dig command

Dig is a DNS lookup utility. The sole purpose of this command is to perform DNS lookup and display the answers returned by the nameserver of the queried website.

A sample output for the dig command looks like this:

dig facebook.com ; > DiG 9.11.3-1ubuntu1.5-Ubuntu > facebook.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER

You can see the IP address of the website in the ‘ANSWER SECTION’.

Facebook has tons of servers and you may see a different IP address based on your geo-location and time. You shouldn’t find it unusual.

Method 2: Use nslookup command to find IP address of website in Linux

Like Dig, nslookup command is also used for querying the DNS records. nslookup stands for ‘name server lookup’.

You might need to install nslookup. If you have sudo access, you can use your Linux distribution’s installation command to install this tool. On Debian and Ubuntu, the command below will install nslookup:

sudo apt install nslookup

Once you have the tool, just use it in the following fashion:

For example, if I try to get the IP address of Facebook.com, this is the output I get:

nslookup facebook.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: facebook.com Address: 157.240.25.35 Name: facebook.com Address: 2a03:2880:f10c:83:face:b00c:0:25de

Method 3: Get IP address of website using host command

Like the above two, host is also a DNS lookup utility. But unlike the above two commands, the output of the host command is neat and precise. It just displays the IPv4 and IPv6 addresses of a website.

Sample output would be like this:

host facebook.com facebook.com has address 157.240.13.35 facebook.com has IPv6 address 2a03:2880:f139:83:face:b00c:0:25de facebook.com mail is handled by 10 msgin.vvv.facebook.com.

Method 4: Get website’s IP address with ping command in Linux

Let’s see how to get the IP address of a website with the ping command in Linux.

Ping command is used to check whether the remote host is up or not. You can use either the server’s IP address or the URL. The syntax is pretty much the same.

A sample output for facebook.com looks like this:

ping facebook.com PING facebook.com (157.240.24.35) 56(84) bytes of data. 64 bytes from edge-star-mini-shv-01-sin2.facebook.com (157.240.24.35): icmp_seq=1 ttl=52 time=203 ms 64 bytes from edge-star-mini-shv-01-sin2.facebook.com (157.240.24.35): icmp_seq=2 ttl=52 time=163 ms 64 bytes from edge-star-mini-shv-01-sin2.facebook.com (157.240.24.35): icmp_seq=3 ttl=52 time=248 ms ^C --- facebook.com ping statistics --- 4 packets transmitted, 3 received, 25% packet loss, time 3001ms rtt min/avg/max/mdev = 163.965/205.339/248.902/34.713 ms

You’ll have to use Ctrl+C to stop the ping command.

Conclusion

So, you just saw three networking tools that would give you the same result. I hope this quick Linux tip helped you find a website's IP address in Linux terminal.

If you have any questions or suggestions, please leave a comment below. Don’t forget to subscribe to the newsletter and get all the new tutorials in your inbox, for free.

Источник

Как узнать IP адрес сайта в терминале Linux

Очень часто требуется узнать какой ip адрес имеют разные сайты в сети интернет. Ниже представлены 4 способа с помощью консольных команд. Я как правило пользуюсь первыми двумя.

Спасибо моему любиму сайту https://vc.ru за то что не будет препятствовать нашим изысканиям в отношении его ip-адреса.

Для удобства в качестве примера, будем узнавать информацию об ip сайта vc.ru (просто он такой же короткий как ya.ru).

Способ 1. команда host

Результатом выполнения команды будет:

vc.ru has address 85.119.149.83 vc.ru mail is handled by 10 mx.yandex.ru.

Способ 2. команда ping

Результатом выполнения команды будет:

PING vc.ru (85.119.149.83) 56(84) bytes of data. 64 bytes from 85.119.149.83: icmp_seq=1 ttl=53 time=13.0 ms 64 bytes from 85.119.149.83: icmp_seq=2 ttl=53 time=13.1 ms ^C --- vc.ru ping statistics --- 3 packets transmitted, 2 received, 33% packet loss, time 2002ms rtt min/avg/max/mdev = 13.051/13.085/13.119/0.034 ms

Способ 3. команда nslookup

Результатом выполнения команды будет:

Server: 127.0.1.1 Address: 127.0.1.1#53 Non-authoritative answer: Name: vc.ru Address: 85.119.149.83

Способ 4. команда dig

Результатом выполнения команды будет:

; > DiG 9.10.3-P4-Ubuntu > vc.ru ;; global options: +cmd ;; Got answer: ;; ->>HEADER

Добавить комментарий Отменить ответ

Свежие комментарии

  • User к записи Как в Git поменять URL-адрес удаленного репозитория?
  • Серегй к записи Как отсортировать многомерный массив по значению в PHP
  • Павел Литовский к записи Базы данных и ORM Doctrine в Symfony.
  • Тимур к записи Как отсортировать многомерный массив по значению в PHP
  • Евгений к записи Базы данных и ORM Doctrine в Symfony.

Свежие записи

Источник

Оцените статью
Adblock
detector