Linux ip from hostname

Как узнать IP адрес, используя командную строку Linux

Рассмотрим, как узнать текущий IP-адрес системы Linux, используя командную строку.

ifconfig уже устарел

Раньше для просмотра текущих сетевых интерфейсов и их параметров (включая IP-адреса), использовалась команда ifconfig. Но она уже несколько лет как устарела, и в современных дистрибутивах Linux не поддерживается.

Вместо ifconfig рекомендуется использовать команду ip

Определяем IP-адрес командой ip

Чтобы определить IP-адрес вашего сетевого интерфейса можно использовать команду ip address (или эквивалентный вызов ip addr или просто ip a ).

В результате выполнения команды на экран будет выведен список текущих сетевых интерфейсов и их параметры. Первый интерфейс в списке обычно lo — это loopback интерфейс (нас он сейчас не интересует). Нас интересует Ethernet-интерфейс или WiFi-интерфейс (в зависимости от того, какое у вас подключение).

Ethernet интерфейсы обычно имеют имена вида enp2s0 или eth0, а WiFi-интерфейсы имеют имена вида wlp2s0 или wlan0 (цифры в названии могут отличаться).

Найдите интересующий вас интерфейс в списке. Его IP-адрес выводится на строке inet ..

В нашем примере это inet 192.168.2.2/24 . 192.168.2.2 — это IP-адрес. 24 — это маска подсети, соответствующая маске 255.255.255.0.

Определяем IP-адрес командой hostname

Воспользуемся командой hostname , чтобы вывести IP-адрес. Используем ключ -I

Команда выводит все сетевые адреса хоста (системы), кроме loopback интерфейса. Если у вас всего одно сетевое соединение, то, скорее всего, будет выведен один IP-адрес.

Через графическую утилиту

Хотя эта заметка рассматривает способы определения IP-адреса через командную строку, иногда проще посмотреть текущий IP-адрес через графические программы. В Ubuntu Linux это можно сделать в Параметрах системы в разделе Сеть .

Параметры→Сеть

Настройки сетевого интерфейса.

Источник

How to find IP Address from hostname in Windows Linux and Unix — Example

Finding IP address from hostname in UNIX and Linux Example

1) IP address using hostname command in Unix/Linux

2) IP address using ping command in UNIX or Linux

/test ping trading_system

3) IP address using nslookup command in UNIX or Linux

/test nslookup trading_system

4) How to find the IP address using the ifconfig command

IP Address from hostname in Windows Linux and Unix

Now, let’s see some examples to convert hostname to IP address in Windows, Linux, and other UNIX based systems.

1. How to find the IP address of your computer in Windows

2. How to find the external IP address of your network or computer

11 comments :

Incoming Search term
lan ping determine ip of hostname
get hostname ip addresses java linux
get ip from hostname linux
search hostname of a machine
how to find hostname unix hostname
how to get computername from ip address
how to find ip for hostname in lan
how to find hostname on linux
display hostname ip address
find ip address from hostname in windows
finding remote computer name linux
get ip address from hostname windows
get ip from hostname windows
get the exact ip address via ifconfig for a specific device in windows
host name to ip windows
how to find ip address and host name
how to find ip address in unix
how to find ip address of an hostname
linux find address for host name
unix command to my ip address
unix find ip from hostname
bash script for ip address from hostname

December 2, 2011 at 7:27 AM heera said.

Thanks . I was looking for exact same information, command to find hostname from ip address. we have linux machines in our lan network and I just joined. this unix tips will surely help me lot.

Читайте также:  Драйвера для nvidia high definition audio для windows 10 64 bit

December 4, 2011 at 11:57 PM unixman said.

hostname -i will not work to find IP address of another computer, it will only work for current host. I think only available option to get IP address of another computer is «nslookup»

December 5, 2011 at 8:56 PM Anonymous said.

how to check the loction of my friend while chatting.

please help me one of my friend told me he is in us but i think he is telling lie so please help me to guess from where he is calling .

send the answer at papadonpart2@gmail.com

January 3, 2012 at 5:22 AM Jimm said.

how to find IP address in Unix operating system which doesn’t have nslookup command ? is there way to determine IP address without using nslookup

January 10, 2012 at 5:15 PM King said.

Thanks for this. i was looking for this «nslookup» command

May 30, 2012 at 2:05 AM Anonymous said.

Hello Javin, How will you convert an IP address to Hostname in Java? Can you please write about that? Thank you sir.

July 17, 2013 at 11:15 PM Samir said.

I am using linux system for my office work first time even though I have hosted all my website at linux hosting servers. There are few things I should have learned before like you let us know about ip host, pinging commands at linux system. I am a fast leaner yet I think it will take a month to get used to it as always typed wrong command and right click is something which we always used at windows.

July 24, 2013 at 1:38 AM Anonymous said.

You can also use ‘host’ command to display IP address associated with any DNS name (or hostname). It’s a DNS lookup utility similar to nslookup but it doesn’t print name of DNS server used to resolve addresses. In fact, host command output is much cleaner than nslookup, you will see something like this

host yahoo.com
yahoo.com has address 130,.40.23.19
yahoo.com has address 130,.40.23.29

It will print all IP address associated with a DNS name and registered in DNS server.

August 4, 2015 at 8:03 PM Anonymous said.

@Anonymous, indeed I would prefer host and nslookup any day than other commands, but you should aware that there is something called nscd which keeps a cache of most used queries on naming server. If a host got IP address change but still resolving to old IP address then this is one place you should check. Sometime name server can also be faulty.

Источник

Easy way to get IP address from hostname using a Unix shell

What is the easiest way to get the IP address from a hostname?

I was thinking about trying a ping and parse it from the output. However, that doesn’t seem very nice and will probably not work the same way on all systems.

I searched a bit around and found solutions with nslookup , but that doesn’t work for hostnames in /etc/hosts .

10 Answers 10

You can do this with standard system calls. Here’s an example in Perl:

produces the output:

(On the command-line, the same script can be written as: perl -MSocket -MData::Dumper -wle’my @addresses = gethostbyname(«google.com»); my @ips = map < inet_ntoa($_) >@addresses[4 .. $#addresses]; print Dumper(\@ips)’ )

You can do this similarly in other languages — see the man page for the system calls at man -s3 gethostbyname etc.

On Linux, (and some OS X variants, at least), you might be able to use resolveip , which is part of the MySQL server package:

$ host localhost \n localhost has address 127.0.0.1

This ancient post seem to have many creative solutions.

If I need to make sure also /etc/hosts gets accessed, I tend to use

getent hosts somehost.com

This works, at least if `/etc/nsswitch.conf’ has been configured to use files (as it usually is).

For IPv4 there is a standard program which works out of the box using the resolver including /etc/hosts:

It is part of Debian, install it with:

For other protocols than IPv4 (like IPv6) I currently don’t know a similar tool. Update: Because of this I just wrote a small tool which is capable to resolve IPv6, too:

It is thought for a quick and dirty shell use like gethostip but allows IPv6, too:

It also can be used interactively, for example:

Источник

Скрипт Linux bash для извлечения IP-адреса

Я хочу сделать большой скрипт на моем Debian 7.3 (что-то вроде переведенной и гораздо более новой удобной для пользователя среды ). У меня проблема. Я хочу использовать только часть информации, которую дают мне команды. Например, мой ifconfig выглядит так:

Читайте также:  Google test framework windows

Я хочу отобразить только IP-адрес в строке: echo » ваш IP-адрес: (IP_ADDRESS)». Есть ли какая-либо команда, которая позволяет мне делать это, искать в потоке информацию, которую я хочу получить?. Я знаю о grep и sed но я не очень хорошо с ними.

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

12 ответов

чтобы просто получить свой IP-адрес:

Это даст вам IP-адрес eth0.

Edit: из-за изменения имен интерфейсов в последних версиях Ubuntu это больше не работает. Вместо этого вы можете просто использовать это:

hostname —all-ip-addresses или hostname -I , который делает то же самое (дает вам все IP-адреса хоста).

если цель состоит в том, чтобы найти IP-адрес подключен в сторону интернета, то это должно быть хорошим решением.

обновление. С новой версией Linux вы получаете:

Итак, чтобы получить IP, вы должны найти IP после src

найдите IP и интерфейс, который используется:

затем, чтобы извлечь IP:

ip route не открывает подключение, он просто показывает маршрут, необходимый, чтобы добраться до 8.8.8.8 . 8.8.8.8 является DNS Google.

почему другое решение может потерпеть неудачу:

  • если интерфейс у вас есть другое имя (eno1, беспроводной доступ в интернет, venet0 и т. д.)
  • если у вас более одного интерфейса
  • направление IP-соединения не является первым в списке более одного IF
  • может получить только в 127.0.1.1
  • не работает на всех системах.

если вы хотите сохранить это в переменную, сделайте:

если вы хотите получить разделенный пробелом список ваших IPs, вы можете использовать с —all-ip-addresses (short -I ) флаг

может быть не для всех случаев (особенно если у вас есть несколько NIC), это поможет:

просто Примечание, так как я только что потратил некоторое время на устранение неполадок с обновлением на сервере. Оказалось, что (несколько лет назад) я реализовал тест, чтобы увидеть, присутствуют ли динамически добавленные интерфейсы (например, eth0:1), и если да, я бы привязал определенный proggis к «основному» IP на eth0. В основном это был вариант » ifconfig / grep. |СЭД. ‘решение (плюс проверка наличия’ eth0:’).
Обновление принесло новые net-tools, и с ним выход изменился слегка:

в то время как новая версия будет отображаться следующим образом:

рендеринг охоты на » eth0:», а также «inet addr:» поиск прерван (не говоря уже об интерфейсах, называемых «em0″, » br0 » или «wlan0». ). Конечно, вы можете проверить «inet «(или «inet6») и сделать addr: part необязательным, но, присмотревшись, вы увидите, что более или менее все изменилось, «Маска» теперь «сетевая маска».

IP-маршрут. ‘ предложения довольно изящно-так, может быть:

Ну, что-то в этом роде, во всяком случае. Поскольку все предлагаемые решения, похоже,имеют обстоятельства, при которых они терпят неудачу, проверьте возможные случаи edge-no eth, multiple eth & lo, когда «hostname-i» потерпит неудачу. а затем решите лучшее решение, проверьте, что оно сработало, иначе 2nd best.

на мой взгляд, самый простой и элегантный способ достичь того, что вам нужно, это:

ip route get [host] — дает вам шлюз, используемый для достижения удаленного хоста, например:

tr -s ‘ ‘ — удаляет любые дополнительные пробелы, теперь у вас есть единообразие, например:

cut -d’ ‘ -f7 — усекает строку в поля, разделенные пробелом, затем выбирает из нее поле #7, например:

небольшая модификация одного из предыдущих ip route . решения, которые устраняют необходимость в grep:

Источник

Как узнать IP-адрес Linux

Каждый компьютер в сети интернет нужно определённым образом идентифицировать. Для этого используются IP-адреса. Каждый компьютер, подключённый к интернету, имеет свой адрес, с помощью которого можно очень просто обратиться к этому компьютеру.

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

Немного теории

Мы можем выделить три типа IP-адресов, с которыми вам придётся сталкиваться:

  • Внутренний адрес (IP-адрес компьютера);
  • Адрес в локальной сети;
  • Внешний IP доступный во всём интернете.

Внутренний IP-адрес нужен для того, чтобы программы могли взаимодействовать между собой в пределах этого компьютера, используя сетевые протоколы. Например, так браузер может получить доступ к локальному web-серверу или mysql-серверу. Внутренний IP довольно часто используется в системных утилитах, и узнать его очень просто — он всегда одинаковый — 127.0.0.1.

Но с локальной сетью всё немного сложнее. В идеале, каждый компьютер в мире должен был бы иметь уникальный IP-адрес для полноценного доступа в интернет. Но с ростом популярности этой технологии свободные адреса скоро начали заканчиваться, и теперь уникальные IP имеют только серверы, а обычные пользователи размещаются провайдерами по несколько сотен на одном IP с помощью NAT.

Читайте также:  Раздача wifi linux arch

Технология NAT позволяет компьютеру подключиться к любому серверу в интернете и получить от него ответ, но инициировать подключение к такому компьютеру невозможно, поскольку фактически один IP принадлежит сотне компьютеров, и система просто не знает, к какому из них обращаются.

Ваша локальная сеть тоже работает по принципу NAT, и задача у неё похожая — защитить ваши домашние устройства от несанкционированного доступа, и позволить вам подключать к сети несколько устройств, например два ноутбука. Если бы не было NAT, вам бы пришлось покупать два отдельных интернет подключения для каждого из них.

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

  1. Внешний и доступный всем IP, который принадлежит провайдеру и используется для выхода в интернет сотен пользователей;
  2. IP-адрес вашего роутера в локальной сети провайдера, той самой, с IP-адресом которой вы выходите в интернет. Он не доступен из интернета и, скорее всего, вам не понадобится;
  3. IP-адрес вашего компьютера в локальной (домашней) сети, созданной роутером, к которой вы можете подключать свои устройства. Именно он используется для взаимодействия между устройствами в локальной сети и отображается в информации о сетевом интерфейсе;
  4. Внутренний IP-адрес компьютера, недоступный извне и используемый только для внутренних коммуникаций в системе.

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

Как узнать внутренний IP Linux

Как я уже сказал, внутренний IP всегда одинаковый для каждого компьютера — 127.0.0.1, что спрведливо не только для Linux, но и для Windows и других операционных систем. Также к своему компьютеру можно обратиться по домену localhost.

Вы можете убедится в этом, выполнив nslookup:

Как узнать локальный IP в Linux

Узнать локальный IP компьютера тоже не очень сложно. Для этого вам не нужны никакие сервисы, мы можем просто посмотреть информацию об интерфейсах.

Чтобы узнать свой IP Linux в локальной сети? выполните такую команду:

Здесь отображается довольно много информации о сетевых интерфейсах. Кроме IP, здесь можно увидеть MAC-адрес, маску сети и небольшую статистику по работе интерфейса. IP-адрес каждого интерфейса отображается после слов inet addr.

Теперь про интерфейсы: lo — это внутренний интерфейс с IP-адресом 127.0.0.1, eth0 — это проводной интерфейс, а wlan0 — интерфейс Wi-Fi. Как видите, для каждого из них установлены свои адреса.

Вы можете отфильтровать лишнюю информацию и вывести только IP-адреса:

sudo ifconfig | grep «inet addr»

Утилита ifconfig уже считается устаревшей и в некоторых дистрибутивах не используется. Вместо неё предлагается новый инструмент — ip. Вы можете выполнить аналогичные действия с помощью него:

Здесь IP-адрес отображается после слова inet. Вы знаете, как посмотреть IP-адрес Linux для компьютера в локальной сети, теперь рассмотрим внешний.

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

С внешним IP-адресом ситуация немного сложнее. Конечно, если бы у вас был доступ к серверу провайдера, вы бы могли выполнить ту же самую команду ifconfig и узнать внешний IP Linux точно так же, как и на своём компьютере.

Понятное дело, что доступа к серверам провайдера у вас нет, поэтому придётся пользоваться обходными путями. Мы можем открыть специальный сайт, который посмотрит, с какого IP мы его открыли, и скажет его нам. Есть несколько таких сайтов. Проще всего сделать это с помощью браузера, например, откройте сайт ifconfig.me или eth0.me:

Но это не совсем удобно. Лучше сделать это с помощью терминала. Просто используйте команду wget. Сразу рассмотрим несколько таких сайтов, чтобы вы могли использовать любой понравившийся из них:

wget -qO- eth0.me
wget -qO- ipinfo.io/ip
wget -qO- ipecho.net/plain
wget -qO- icanhazip.com
wget -qO- ipecho.net
wget -qO- ident.me
wget -qO- myip.gelma.net

Чтобы не набирать длинную команду каждый раз, вы можете создать удобный алиас:

alias getip=»wget -qO — eth0.me»

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

Выводы

Вот и всё, теперь вы точно знаете, как узнать IP-адрес Linux, оказывается, это не так сложно, как могло показаться сразу. Правда, во всех этих терминах можно сначала запутаться, но с практикой это проходит. Если у вас остались вопросы, спрашивайте в комментариях!

В статье мы рассмотрели, что такое IP-адрес, но маршрутизацию затронули только вскользь. Если вы хотите узнать об этом подробнее, то можете посмотреть вот это видео:

Источник

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