Get host from ip linux

Найти hostname из IP Linux

Имена или ярлыки полезны, поскольку они позволяют нам отличить одну вещь или одного человека от другого. Даже имя человека, которое может не быть уникальным в глобальном масштабе, содержит набор символов, которые позволяют человеку отличаться от другого человека.

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

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

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

Разобравшись с этим, давайте погрузимся.

Метод 1: Ping

Самый простой способ получить имя хоста с IP-адреса — использовать команду ping. Ping — это простая, но мощная утилита командной строки, которая использует пакеты ECHO для связи с хостом.

ПРИМЕЧАНИЕ. Следующая команда работает только на компьютерах с Windows. Для Linux проверьте следующий метод.

Чтобы получить имя хоста с IP-адреса с помощью команды ping, используйте команду ниже:

Вот результат выполнения вышеуказанной команды:

Приведенная выше команда не всегда надежна; это часто работает только в том случае, если имя хоста доступно в файле hosts.

Метод 2: команда хоста

Второй и распространенный метод получения имени хоста из IP-адреса в Linux — это команда host. Этот простой инструмент является частью пакета dnsutil.

Источник

Find Hostname from IP Linux

Similarly, computers support labels or names that help give them a unique identity in a network. That is where a hostname comes in. A hostname is a set of alphanumerical characters unique to a computer network, allowing devices to communicate with each other.

Typically, the underlying technology that identifies a computer or a device in a network is a set of numbers known as IP addresses. These are then mapped to a specific name resolved to the IP address of the machine.

In this tutorial, however, I will show you various ways that you can use to get the hostname associated with a specific IP address. The methods discussed in this tutorial will work in almost all Linux and Unix-Like systems.

If you are looking for detailed instructions on how systems such as Domain Names work, check out the resource on the link provided below:

With that out of the way, let us dive in.

Method 1: Ping

The simplest method to get the hostname from an IP address is to use ping. Ping is a simple yet powerful command-line utility that uses ECHO packets to communicate with a host.

NOTE: The following command only works in Windows machines. For Linux, check the next method.

To get a hostname from an IP address with ping, use the command below:

Here is the output from the above command:

The above command is not always reliable; it often only works if the hostname is available in the hosts file.

Читайте также:  Resolve conf in windows

Learn more here:

Method 2: Host Command

The second and common method for getting the hostname from the IP address in Linux is the host command. This simple tool is part of the dnsutil package.

To install the package, use the commands:

Ubuntu/Debian-based distros

Источник

how to find host name from IP with out login to the host

i need to find the host name of a UNIX host whose IP is known with out login to that UNIX host

11 Answers 11

You can do a reverse DNS lookup with host , too. Just give it the IP address as an argument:

Another NS lookup utility that can be used for reversed lookup is dig with the -x option:

Quoting from the dig manpage:

Reverse lookups — mapping addresses to names — are simplified by the -x option. addr is an IPv4 address in dotted-decimal notation, or a colon-delimited IPv6 address. When this option is used, there is no need to provide the name, class and type arguments. dig automatically performs a lookup for a name like 11.12.13.10.in-addr.arpa and sets the query type and class to PTR and IN respectively.

For Windows ping -a 10.10.10.10

For Windows, try:

They are almost same.

if you just need the name, no additional info, add [0] at the end:

It depends on the context. I think you’re referring to the operating system’s hostname (returned by hostname when you’re logged in). This command is for internal names only, so to query for a machine’s name requires different naming systems. There are multiple systems which use names to identify hosts including DNS, DHCP, LDAP (DN’s), hostname , etc. and many systems use zeroconf to synchronize names between multiple naming systems. For this reason, results from hostname will sometimes match results from dig (see below) or other naming systems, but often times they will not match.

DNS is by far the most common and is used both on the internet (like google.com. A 216.58.218.142 ) and at home (mDNS/LLMNR), so here’s how to perform a reverse DNS lookup: dig -x ( nslookup and host are simpler, provide less detail, and may even return different results; however, dig is not included in Windows).

Note that hostnames within a CDN will not resolve to the canonical domain name (e.g. «google.com»), but rather the hostname of the host IP you queried (e.g. «dfw25s08-in-f142.1e100.net»; interesting tidbit: 1e100 is 1 googol).

Also note that DNS hosts can have more than one name. This is common for hosts with more than one webserver (virtual hosting), although this is becoming less common thanks to the proliferation of virtualization technologies. These hosts have multiple PTR DNS records.

Finally, note that DNS host records can be overridden by the local machine via /etc/hosts. If you’re not getting the hostname you expect, be sure you check this file.

DHCP hostnames are queried differently depending on which DHCP server software is used, because (as far as I know) the protocol does not define a method for querying; however, most servers provide some way of doing this (usually with a privileged account).

Note DHCP names are usually synchronized with DNS server(s), so it’s common to see the same hostnames in a DHCP client least table and in the DNS server’s A (or AAAA for IPv6) records. Again, this is usually done as part of zeroconf.

Also note that just because a DHCP lease exists for a client, doesn’t mean it’s still being used.

NetBIOS for TCP/IP (NBT) was used for decades to perform name resolution, but has since been replaced by LLMNR for name resolution (part of zeroconf on Windows). This legacy system can still be queried with the nbtstat (Windows) or nmblookup (Linux).

Источник

Утилита ip Linux

Если вы начинающий системный администратор, думаю, вам понадобится утилита ip. Она позволяет посмотреть сетевые интерфейсы и IP адреса им присвоенные, посмотреть и настроить таблицу маршрутизации, включать или отключать сетевые интерфейсы, управлять маршрутизацией и ARP, а также многое другое.

Читайте также:  Сборка gcc для windows

Раньше вместо неё использовалось несколько других утилит, одна из них — ipconfig. Однако потом им на замену пришла ip. Сейчас она уже поставляется во всех дистрибутивах, а со временем старые утилиты будут удалены, поэтому разобраться с ней стоит.

Синтаксис и опции утилиты ip

Сначала рассмотрим синтаксис команды. Утилита довольно многофункциональная, поэтому и синтаксис её вызова непростой:

$ ip [опции] объект команда [параметры]

Опции — это глобальные настройки, которые сказываются на работе всей утилиты независимо от других аргументов, их указывать необязательно.

  • объект — это тип данных, с которым надо будет работать, например: адреса, устройства, таблица arp, таблица маршрутизации и так далее;
  • команды — какое-либо действие с объектом;
  • параметры — само собой, командам иногда нужно передавать параметры, они передаются в этом пункте.

Дальше рассмотрим все еще более подробно:

  • -v, -Version — только вывод информации об утилите и ее версии.
  • -h, -human — выводить данные в удобном для человека виде.
  • -s, -stats — включает вывод статистической информации.
  • -d, —details — показывать ещё больше подробностей.
  • -f, -family — позволяет указать протокол, с которым нужно работать, если протокол не указан, то берется на основе параметров команды. Опция должна принимать одно из значений: bridge, dnet, inet, inet6, ipx или link. По умолчанию используется inet, link — означает отсутствие протокола.
  • -o, -oneline — выводить каждую запись с новой строки.
  • -r,-resolve — определять имена хостов с помощью DNS.
  • -a, -all — применить команду ко всем объектам.
  • -c, -color — позволяет настроить цветной, доступные значения: auto, always и never.
  • -br, -brief — выводить только базовую информацию для удобства чтения.
  • -4 — короткая запись для -f inet.
  • -6 — короткая запись для -f inet-f inet6.
  • -B — короткая запись для -f inet-f bridge.
  • -0 — короткая запись для -f inet -f link.

Теперь давайте рассмотрим самые важные объекты.

  • address или a — сетевые адреса.
  • link или l — физическое сетевое устройство.
  • neighbour или neigh — просмотр и управление ARP.
  • route или r — управление маршрутизацией.
  • rule или ru — правила маршрутизации.
  • tunnel или t — настройка туннелирования.

Конечно, это не все объекты которые поддерживает команда ip Linux, но на первое время вам хватит. Во время ввода имя объекта может быть сокращено до одной буквы. При неоднозначности используется алфавитный порядок. Например, ip a show, расшифровывается как ip address show. Тогда как в ip r show, r — означает route.

Теперь рассмотрим доступные команды, с помощью которых может быть выполнена настройка сети linux. Они зависят от объекта, к которому будут применяться. Вот основные команды: add, change, del или delete, flush, get, list или show, monitor, replace, restore, save, set, и update. Если команда не задана, по умолчанию используется show (показать).

Здесь тоже поддерживается сокращение и в большинстве случаев для выполнения нужного действия достаточно нескольких символов. Но алфавитный порядок соблюдается не всегда. Например, ip a s, означает ip address show, а не ip address set, к сожалению.

Примеры использования ip

Вот теперь мы дошли к самому интересному — примерам использования утилиты ip Linux. То что я здесь опишу на самом деле лишь маленькая капля из всего того что может утилита ip.

1. Просмотр IP адресов

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

Для просмотра информации в кратком виде используйте опцию -br:

Можно посмотреть IP адреса только по определённому сетевому интерфейсу, например: enp0s3:

ip a show enp0s3

ip a show dev enp0s3

Можно отобразить только статические IP адреса:

ip a show dev enp0s3 permanent

Или только динамические:

ip a show dev enp0s3 dynamic

2. Добавление IP адреса

Чтобы присвоить IP адрес для устройства нужно использовать команду add. Её общий синтаксис такой:

Читайте также:  Mac os capitan патч

$ ip addr add IP_адрес / маска dev интерфейс

Например, давайте присвоим тому же интерфейсу enp0s3 IP адрес 10.0.2.100 с маской подсети 255.255.255.0:

ip addr add 10.0.2.100/255.255.255.0 dev enp0s3

Маску можно указать и в сокращённом виде:

ip addr add 10.0.2.100/24 dev enp0s3

3. Удаление IP адреса

Чтобы удалить IP адрес из интерфейса надо использовать команду del. Синтаксис её очень похож на предыдущую команду. Например, удалим IP адрес 10.0.2.100:

ip addr del 10.0.2.100/255.255.255.0 dev enp0s3

Можно удалять IP адреса по одному или удалить все сразу с помощью команды flush:

Или же можно удалить адреса только определённой подсети:

sudo ip a flush to 10.0.2.0/24

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

4. Список интерфейсов

Чтобы посмотреть список сетевых интерфейсов используйте объект link:

5. Включение или выключение интерфейсов

Для решения этой задачи тоже используется объект link, но с командой set. Синтаксис её такой:

$ ip link set dev интерфейс действие

В качестве действия можно использовать up или down. Например, чтобы отключить интерфейс enp0s3 выполните:

ip link set dev enp0s3 down

А чтобы включить его обратно:

ip link set dev enp0s3 up

6. Настройка MTU

Параметр MTU означает размер одного пакета, передаваемого по сети. Этот размер можно изменить с помощью команды set. Например, увеличим MTU для enp0s3 до 4000 тысяч байт:

ip link set mtu 4000 dev enp0s3

7. Настройка MAC адреса

Адрес MAC — это физический адрес, который используется для определения какому устройству надо передать сетевой пакет в локальной сети. Прежде чем настраивать MAC адрес ваше устройство надо отключить:

sudo ip link set dev enp0s3 down

Затем можно установить адрес:

sudo ip link set dev enp0s3 address AA:BB:CC:DD:EE:FF

А потом включить интерфейс обратно:

sudo ip link set dev enp0s3 up

8. Таблица ARP

Именно протокол ARP отвечает за преобразование IP адресов в низкоуровневые MAC адреса. Для того чтобы не отправлять ARP запросы каждый раз в сеть, кэш хранится в таблице ARP на протяжении 20-ти минут. Чтобы посмотреть содержимое таблицы ARP используйте такую команду:

9. Добавление записи в таблицу ARP

Обычно записи в эту таблицу попадают автоматически, но вы можете добавить их и вручную. Для этого используйте команду add объекта neigh:

sudo ip neigh add 192.168.0.105 lladdr b0:be:76:43:21:41 dev enp0s3

В этом примере я заставил компьютер думать, что узел с IP 192.168.0.105 это 192.168.0.1. Теперь можно попытаться выполнить ping по этому адресу и оно будет работать, несмотря на то, что реально такого узла в сети нет.

10. Очистка таблицы ARP

Вы можете удалять IP адреса по одному с помощью команды del:

sudo ip neigh del dev enp0s3 192.168.0.105

Можно удалить все записи для определённого сетевого интерфейса:

ip neigh flush dev enp0s3

Или очистить таблицу полностью командой flush:

11. Просмотр таблицы маршрутизации

Для просмотра таблицы маршрутизации используйте объект route и команду show:

12. Добавление маршрута

Синтаксис добавления нового маршрута в таблицу маршрутизации такой:

$ ip route add подсеть / маска via шлюз

Вместо шлюза можно указать сетевой интерфейс с помощью которого надо отправлять пакеты:

$ ip route add подсеть / маска dev устройство

Например, добавим новый маршрут для сети через тот же IP адрес:

sudo ip route add 169.255.0.0 via 169.254.19.153

Или можно указать сетевой интерфейс через который надо отправлять пакеты для определённой сети:

sudo ip route add 169.255.0.0 dev enp0s3

13. Удаление маршрута

Удалить маршрут можно командой с аналогичным синтаксисом, только вместо add надо использовать del:

sudo ip route del 169.255.0.0 via 169.254.19.153

Выводы

Вот и подошла к завершению наша статья. Надеюсь, утилита ip Linux уже не кажется такой непонятной. Если у вас есть вопросы или хотите предложить ещё какие-нибудь примеры, пишите комментарии!

Источник

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