как узнать имя компьютера по 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.

Источник

[в закладки] Шпаргалка системного администратора по сетевым инструментам Linux

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

▍Примеры

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


Использование ping для выяснения IP-адреса сайта по его имени

Traceroute

▍Пример

Telnet

Утилита telnet позволяет связаться с удалённым компьютером по протоколу Telnet и взаимодействовать с ним, используя соответствующие команды.

▍Пример

Для организации сеанса Telnet-связи с другим компьютером используется следующая команда:

Netstat

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

▍Примеры

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

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

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


Сведения о таблице маршрутизации

Вот вариант этой команды, выводящий статистику по протоколам:


Статистика по протоколам

Следующий вариант вызова netstat позволяет узнать сведения об отправленных и полученных пакетах (transmission/receive, TX/RX) по каждому интерфейсу:


Данные об отправленных и полученных пакетах

Nmcli

Утилита nmcli отлично подходит для управления сетевыми соединениями, для выполнения настроек и для решения других подобных задач. С её помощью можно управлять программой NetworkManager и модифицировать сетевые параметры различных устройств.

▍Примеры

Вот как с помощью nmcli вывести список сетевых интерфейсов:

Так можно вывести информацию по конкретному интерфейсу:

Следующий вариант вызова команды позволяет проверить подключение устройства к сети:


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

Эта команда позволяет отключить заданный интерфейс:

А эта позволяет включить интерфейс:

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

Маршрутизация

Существует множество команд, которые можно использовать для проверки правил маршрутизации и их настройки. Рассмотрим самые полезные из них.

▍Примеры

Следующая команда показывает все текущие маршруты, настроенные для соответствующих интерфейсов:


Маршруты, настроенные для интерфейсов

Эта команда позволяет добавить в таблицу маршрутизации шлюз, используемый по умолчанию:

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

С помощью такой команды можно удалить запись о заданном маршруте из таблицы маршрутизации:


Использование команды route

Вот команда, которая применяется для вывода текущей таблицы соседей. Кроме того, её можно использовать для добавления, изменения или удаления сведений о соседях:

Взглянем на примеры её использования.


Данные, полученные с помощью команды ip neighbor

Вот сведения о команде ip neigh


Сведения о команде ip neigh

Вот пример её вызова.


Вызов команды arp

Tcpdump и Wireshark

▍Примеры

Такая команда показывает, в режиме реального времени, пакеты с заданного интерфейса:


Использование tcpdump

Следующий вариант команды используется для захвата пакетов, приходящих с заданного IP системы-источника:

Так можно захватить пакеты, идущие на заданный адрес системы-приёмника:

Вот пример использования tcpdump для захвата пакетов для заданного номера порта, например, это может быть порт 53, 80, 8080, и так далее:

Здесь показано, как с помощью tcpdump захватывать пакеты заданного протокола, вроде TCP, UDP или других:

Iptables

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

▍Примеры

Следующая команда позволяет вывести все существующие правила iptables :

Читайте также:  парк троллей в карелии адрес

Эта команда удаляет все существующие правила:

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

Следующие команды разрешают loopback-доступ к системе:

Nslookup

Инструмент nslookup используется для получения сведений о назначении IP-адресов сетевым ресурсам. Его можно использовать и для получения сведений с DNS-серверов, например таких, как все DNS-записи для некоего веб-сайта (ниже мы рассмотрим соответствующий пример). На nslookup похожа утилита dig (Domain Information Groper).

▍Примеры

Следующая команда выводит IP-адреса вашего DNS-сервера в поле Server, и, ниже, выдаёт IP-адрес искомого сайта:

Такая команда показывает все доступные записи для заданного веб-сайта или домена:

Поиск неполадок

Вот набор команд и список важных файлов, используемых для идентификации сетевых неполадок.

▍Примеры

Итоги

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

Уважаемые читатели! Чем вы пользуетесь для администрирования сетей и для выяснения причин сетевых неполадок?

Источник

Как определить название компьютера по ip в локальной сети

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

В каких случаях необходимо знать имя ПК в локальной сети

Имя компьютера также называют NETBIOS или DNS. У каждого устройства имеется собственное, индивидуальное название (например, LVS), которое необходимо знать. Узнав наименование ПК, можно быстро найти его в локальной сети и при необходимости подключиться к нему с другого устройства, также его можно будет указывать при необходимости.

Способы определения

Как же можно узнать IP-адрес компьютера в локальной сети по имени, а также некоторые важные характеристики? Для этого существует несколько способов:

Специальные программы

Существует немало специальных программ, которые запускают сканирование локальной сети интернет и помогают находить имена всех входящих в нее компьютеров. Они работают с разными ОС: Windows, Ubuntu от Linux и другими.

Одной из таких программ является MyLanViewer. При сканировании все ПК отображаются в удобном виде: показывают их имена, IP и MAC адреса, общие файлы и другие характеристики.

Также с помощью MyLanViewer можно отслеживать изменения состояния компьютеров и управлять ими.

Загрузить софт можно с официального сайта. Затем необходимо установить программу и запустить ее. Далее потребуется:

Важно! Программа платная, бесплатная версия доступна первые 15 дней.

«Командная строка»

Этот способ позволит узнать наименование компьютера, его идентификатор, IP и другие данные. Посмотреть его можно в несколько шагов:

Важно! Вместо «Командной строки» может быть пункт «Windows PowerShell».

Узнать название компьютера в сети можно через команду «>hostname» в строке «C:\Users».

Изменение

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

Как узнать ip адрес компьютера в локальной сети

IP (АйПи) — это уникальный адрес ПК, под которым он заходит в интернет. Проще всего узнавать его следующим способом:

Также узнать IP-адрес можно при помощи программы, которая отсканирует сеть, например, при помощи бесплатной «Advanced IP Scanner» или «SoftPerfect Network Scanner». Обе утилиты определяют имена и адреса ПК, а также обладают другими возможностями.

У каждого компьютера есть свое отдельное имя. Оно помогает идентифицировать ПК среди прочих и при необходимости обращаться к нему напрямую удаленно. Определить это название можно разными способами: через кнопку «Пуск», командную строку, специальные программы. Не менее важно знать, как это имя изменить при необходимости или как найти IP ПК.

Источник

7 сетевых Linux-команд, о которых стоит знать системным администраторам

Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.

Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.

В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.

Команда ip

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

Синтаксис этой команды выглядит так:

Самое важное тут — это (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:

Вывод IP-адресов, назначенных интерфейсу на сервере:

Назначение IP-адреса интерфейсу, например — enps03 :

Удаление IP-адреса из интерфейса:

Изменение статуса интерфейса, в данном случае — включение eth0 :

Изменение статуса интерфейса, в данном случае — выключение eth0 :

Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :

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

Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :

Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:

Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :

Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:

Вывод маршрута к IP 10.10.1.4:

Команда ifconfig

Команда mtr

Синтаксис команды выглядит так:

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

Читайте также:  лучшие планшеты на windows 2021

А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:

Так можно задать количество ping-пакетов, которые нужно отправить системе, маршрут к которой подвергается анализу:

А так можно получить отчёт, содержащий результаты работы mtr :

Вот — ещё один вариант получения такого отчёта:

Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:

А вот так можно использовать UDP вместо ICMP:

Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:

Так можно настроить размер пакета:

Для вывода результатов работы mtr в формате CSV используется такая команда:

Вот — команда для вывода результатов работы mtr в формате XML:

Команда tcpdump

Утилита tcpdump предназначена для захвата и анализа пакетов.

Установить её можно так:

Прежде чем приступить к захвату пакетов, нужно узнать о том, какой интерфейс может использовать эта команда. В данном случае нужно будет применить команду sudo или иметь root-доступ к системе.

Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:

▍ Захват трафика, идущего к некоему хосту и от него

Можно отфильтровать трафик и захватить лишь тот, который приходит от определённого хоста. Например, чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:

Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:

Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:

▍ Захват трафика, идущего в некую сеть и из неё

Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:

Ещё можно поступить так:

Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.

Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):

Вот — захват трафика с фильтрацией по сети, в которую он направляется:

▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта

Вот пример захвата трафика только для DNS-порта по умолчанию (53):

Захват трафика для заданного порта:

Захват только HTTPS-трафика:

Захват трафика для всех портов кроме 80 и 25:

Команда netstat

Если в вашей системе netstat отсутствует, установить эту программу можно так:

Ей, в основном, пользуются, вызывая без параметров:

В более сложных случаях её вызывают с параметрами, что может выглядеть так:

Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:

Для вывода сведений обо всех портах и соединениях, вне зависимости от их состояния и от используемого протокола, применяется такая конструкция:

Для вывода сведений обо всех TCP-портах применяется такой вариант команды:

Если нужны данные по UDP-портам — утилиту вызывают так:

Список портов любых протоколов, ожидающих соединений, можно вывести так:

Список TCP-портов, ожидающих соединений, выводится так:

Так выводят список UDP-портов, ожидающих соединений:

А так — список UNIX-портов, ожидающих соединений:

Вот — команда для вывода статистических сведений по всем портам вне зависимости от протокола:

Так выводятся статистические сведения по TCP-портам:

Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:

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

Команда nslookup

Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.

Рассмотрим распространённые примеры использования этой команды.

Получение A-записи домена:

Просмотр NS-записей домена:

Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:

Обнаружение всех доступных DNS-записей домена:

Проверка использования конкретного DNS-сервера (в данном случае запрос производится к серверу имён ns1.nsexample.com ):

Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:

Команда ping

Команда ping — это инструмент, с помощью которого проверяют, на уровне IP, возможность связи одной TCP/IP-системы с другой. Делается это с использованием эхо-запросов протокола ICMP (Internet Control Message Protocol Echo Request). Программа фиксирует получение ответов на такие запросы и выводит сведения о них вместе с данными о времени их приёма-передачи. Ping — это основная команда, используемая в TCP/IP-сетях и применяемая для решения сетевых проблем, связанных с целостностью сети, с возможностью установления связи, с разрешением имён.

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

Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:

Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:

Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:

В процессе работы с утилитой ping вы столкнётесь с различными результатами. В частности, это могут быть сообщения о нештатных ситуациях. Рассмотрим три таких ситуации.

▍ Destination Host Unreachable

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

Читайте также:  проект кровли плоской крыши

▍ Request timed out

Если результат работы ping выглядит именно так — это значит, что локальная система не получила, в заданное время, эхо-ответов от целевой системы. По умолчанию используется время ожидания ответа в 1 секунду, но этот параметр можно настроить. Подобное может произойти по разным причинам. Чаще всего это — перегруженность сети, сбой ARP-запроса, отбрасывание пакетов фильтром или файрволом и прочее подобное.

▍ Unknown host/Ping Request Could Not Find Host

Такой результат может указывать на то, что неправильно введено имя хоста, или хоста с таким именем в сети просто не существует.

О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).

Итоги

Надеемся, вам пригодятся команды и примеры их использования, о которых мы сегодня рассказали. А если они вам и правда пригодились — возможно, вам будет интересно почитать продолжение этого материала.

Источник

Как узнать все активные машины в сети, их IP и hostnames?

Есть роутер, он образует локальную подсеть 192.168.0.1/24 В сети той несколько машин, все на Linux. Иногда я использую ssh для управления одной машиной с другой, и в этом нет проблем.

Но для ssh необходимо знать IP компа, так как ssh не понимает hostname, если его нет в /etc/hosts А так как это роутер, то IP динамические.

выводит только активные IP в сети, а

Сейчас смотрю IP и hostname в админке роутера, что не совсем удобно. Я конечно могу всем дать статичные IP, а потом настроить /etc/hosts, но это костыль какой-то.

Нужна команда, что выведет список всех активных IP в подсети 192.168.0.1/24 и их hostnames. Гуглить пробовал, но он путает hostname c netbios, и часть команд под винду, причем без указания этого.

Я бы сделал следующее: На роутере в DHCP забиндил бы существующее розданные ip адреса( если не хочешь делать статики). Те они всегда будут получать один и тот же айпи. Запусти где-нибудь DNS сервер ( на том же роутере, если умеет) и пропиши свои локальные имена. В DHCP пропиши, чтобы при выдаче настроек, машины получали твой DNS в качестве DNS.

В /etc/hosts ничего прописывать не надо,это не совсем тот случай. Нужна одна точка, где все прописано, а не куча.

У меня не настолько продвинутый роутер. И слишком много всего ради функции, которой я пользуюсь раз в неделю, сеть у меня дома.

Сейчас смотрю IP и hostname в админке роутера, что не совсем удобно.

Нужна команда, что выведет список всех активных IP

других вариантов нет. невозможно узнать hostname linux машины кроме как зайти на нее ( тут можно использовать finger root@192.168.1.1) или спросить у DNS сервера.Те прописывать статик айпи и затем прописывать имена в /hosts это ок, а сделать тоже самое на dns/dhcp это уже «слишком много». Кстати, а почему они динамические? У вас там сервисы от этого не страдают? Если айпи динамические, то машины явно не общаются между собой. Те это тестовые виртуалки? Если это тестовые виртуалки, то можно разместить dns/dhcp на гипервизоре, если это какие-то сервисы, то хорошим тоном будет дать им статик ip. Из-за динамик ip можно поймать баги на некоторых сервисах.

ssh прекрасно понимает hostname, если тот резолвится через dns.

Да вариантов много. Для мелкого применения в рутерах написаны специальные комбайны, содержащие dhcp+dns+etc, например, dnsmasq. Имя можно получать и только от dhcp копаясь в его логах. Ну и куча всяких велосипедных костылей, типа после получения адреса сама машина по www будет делать POST со своим именем :))

arping по всем адресам сети

Собирай адреса arpwatch-ем, тогда проще будет искать активные.

Можно посмотреть в dhcpd.leases и отсортировать по времени.

Ключ не подскажете?

И на практике он просто пингует адрес, я это и так могу.

Пожалуйста, полные команды. Я новичек в сетях. man arpwatch не сработал, нет справочной страницы.

Хостнэйм он тебе не поможет узнать, это да. Тогда узнавай либо через ssh на все машины, либо по логам dhcp сервера.

Хостнэйм он тебе не поможет узнать, это да.

Я писал выше, что команда

Как именно это делать? Это вообще можно для клиента, в качестве сервера в сети у меня роутер?

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

И вообще, если две машины в одной подсети, оба клиенты и знают IP друг друга, то они не могут определить hostname друг друга?

В общем случае — нет. А что за роутер? А то может там dnsmasq, на котором прописывание в DNS клиентов DHCP делается на раз-два, только взять и сделать?

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

Надо поставить пакет arpwatch и тогда наверное ман будет

В /var/lib/arpwatch/eth0.dat будут появляться хосты. + письма-оповещения будет слать на arpwatch@localhost

И вообще, если две машины в одной подсети, оба клиенты и знают IP друг друга, то они не могут определить hostname друг друга?

Источник

Образовательный портал