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

Обновлено: 06.07.2024

IP-адрес из имени хоста в Windows и Linux
Сколько раз в день у вас есть имя хоста, и вы хотите узнать IP-адрес? Преобразование имени хоста в IP-адрес и IP-адреса в имя хоста — одна из частых вещей, которые нам нужно делать для многих вещей при работе с сетевыми командами в Unix. Для одной команды нам нужен IP-адрес, для других нам нужно имя хоста даже из сценария bash, иногда нам требуется имя хоста, а иногда мы ищем IP-адрес.

Сетевые команды не так популярны, как команда find или команда grep, но они одинаково важны, и если вы работаете в среде Windows или UNIX, вы должны их изучить, и они также должны быть включены в любой список команд Unix для начинающих.

Кстати, в этом руководстве по преобразованию имени хоста в IP-адрес я покажу вам, как получить IP-адрес из имени хоста или имени компьютера в Unix или Linux и как получить имя хоста, если у вас есть IP-адрес. адрес. Если вы ищете способ сделать это с помощью программы Java, вы также можете посмотреть мой пост о том, как найти IP-адрес локального хоста в Java.

Поиск IP-адреса по имени хоста в примере UNIX и Linux

Если вы работаете в сети UNIX и имеете много машин в LAN (локальной сети), часто вам нужно узнать IP-адреса компьютеров по имени хоста.

Вот четыре основных способа получения IP-адреса по имени хоста на компьютере с Linux или UNIX

1) IP-адрес с помощью команды hostname в Unix/Linux

Это самый простой способ найти IP-адрес вашего компьютера, но ограничение состоит в том, что иногда эта опция может быть доступна или недоступна на вашем компьютере UNIX, например. Я почти не нахожу эту команду на машинах Solaris и IBM AIX, но они в основном доступны на серверах Linux. Кроме того, ограничение имени хоста заключается в том, что вы не можете найти IP-адрес любой другой машины. Это похоже на поиск IP-адреса локального хоста.

2) IP-адрес с помощью команды ping в UNIX или Linux

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

В приведенном выше примере IP-адрес, связанный с торговой_системой, — «192.24.112.23». Недостатком использования команды ping является то, что вы не можете преобразовать IP-адрес обратно в имя хоста.


3) IP-адрес с помощью команды nslookup в UNIX или Linux

nslookup — моя любимая команда для получения IP-адреса из имени хоста. Она очень мощная и доступна во многих операционных системах UNIX, таких как Linux, Solaris, IBM AIX, Ubuntu или BSD. Другое преимущество команды nslookup заключается в том, что мы можем получить либо от имя хоста к IP-адресу, либо от IP-адреса к имени хоста.

Его также можно использовать для поиска IP-адреса вашего собственного хоста или любого другого компьютера в сети. В приведенном выше примере nslookup мы отобразили IP-адрес, связанный с торговой_системой. Если вы хотите найти имя хоста по IP-адресу, вы можете просто указать IP-адрес вместо имени хоста

4) Как найти IP-адрес с помощью команды ifconfig

ifconfig — это еще одна сетевая утилита в UNIX или Linux, которую можно использовать для определения IP-адреса вашего компьютера UNIX. ifconfig показывает много информации, поэтому я просто выполню поиск в сети, чтобы найти IP-адрес в приведенном ниже примере. IP-адрес, связанный с «trading_system.com», равен «192.24.112.23».

Как найти IP-адрес по имени хоста в Windows Linux и Unix

IP-адрес от имени хоста в Windows Linux и Unix

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

1. Как узнать IP-адрес вашего компьютера в Windows

Удивительно, но некоторые из приведенных выше примеров поиска IP-адреса по имени хоста будут работать в Windows так же. Вы можете использовать ping и nslookup точно так же, как показано выше. Даже команда hostname доступна в командной строке Windows, но я сомневаюсь в опциях «hostname -i». Еще одно изменение в команде ifconfig , вместо ifconfig Windows использует команду ipconfig, чтобы узнать IP-адрес вашего компьютера в Windows.

2. Как узнать внешний IP-адрес вашей сети или компьютера

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

11 комментариев:

Входящий поисковый запрос
lan ping определяет IP-адрес имени хоста
получает IP-адреса имени хоста java linux
получает IP-адрес от имени хоста linux
ищет имя хоста машины
как найти имя хоста unix имя хоста
как получить имя компьютера по IP-адресу
как найти ip для имени хоста в локальной сети
как найти имя хоста в linux
отобразить IP-адрес имени хоста
найти IP-адрес по имени хоста в Windows
Поиск имени удаленного компьютера linux
Получить IP-адрес по имени хоста Windows
Получить IP-адрес по имени хоста Windows
Получить точный IP-адрес через ifconfig для конкретного устройства в windows
имя хоста в ip windows
как найти ip адрес и имя хоста
как найти ip адрес в unix
как найти ip адрес хоста
linux найти адрес для имени хоста
команда unix для моего IP-адреса
unix найти ip из имени хоста
скрипт bash для IP-адреса из имени хоста

Спасибо. Я искал точно такую ​​​​же информацию, команду найти имя хоста по IP-адресу. у нас есть Linux-машины в нашей локальной сети, и я только что присоединился. эти советы по Unix наверняка мне очень помогут.

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

как проверить местоположение моего друга во время чата.

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

как найти IP-адрес в операционной системе Unix, в которой нет команды nslookup? есть ли способ определить IP-адрес без использования nslookup

Спасибо за это. я искал эту команду "nslookup"

Здравствуйте, Джавин! Как вы будете преобразовывать IP-адрес в имя хоста в Java? Пожалуйста, вы можете написать об этом? Спасибо, сэр.

Я впервые использую систему Linux для своей офисной работы, несмотря на то, что я разместил весь свой веб-сайт на хостинговых серверах Linux. Есть несколько вещей, которые я должен был узнать раньше, например, вы сообщили нам об ip host, командах ping в системе linux. Я быстро худею, но думаю, что потребуется месяц, чтобы привыкнуть к этому, так как всегда вводил неправильную команду, а щелчок правой кнопкой мыши - это то, что мы всегда использовали в Windows.

Вы также можете использовать команду host для отображения IP-адреса, связанного с любым DNS-именем (или именем хоста). Это утилита поиска DNS, похожая на nslookup, но она не печатает имя DNS-сервера, используемого для разрешения адресов. На самом деле вывод команды host намного чище, чем nslookup, вы увидите что-то вроде этого

Будут напечатаны все IP-адреса, связанные с DNS-именем и зарегистрированные на DNS-сервере.

@Anonymous, действительно, я бы предпочел host и nslookup в любой день, чем другие команды, но вы должны знать, что есть нечто, называемое nscd, которое хранит кеш наиболее часто используемых запросов на сервере имен. Если хост получил измененный IP-адрес, но все еще разрешает старый IP-адрес, то это одно из мест, которое вы должны проверить. Иногда сервер имен также может быть неисправен.

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

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

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

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

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

Покончив с этим, давайте углубимся.

Способ 1. Проверка связи

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

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

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

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


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

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

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

В моей локальной сети 50 хостов Windows. В командной строке Windows я пытаюсь выполнить команду ping, чтобы получить IP-адрес работающего компьютера с Windows.

Вопрос в том, как получить имя хоста определенного IP-адреса в той же рабочей группе Windows?

Другой вопрос: как узнать имя хоста Windows-машины из Linux-системы, если у меня есть IP-адрес? Какую команду вы используете? У меня есть один хост с Kubuntu 9.04.

6 ответов 6

Если вы хотите определить имя компьютера с Windows без DNS, попробуйте Nbtstat. Но это будет работать только в Windows:

В Linux вам следует попробовать nmblookup, который делает почти то же самое.


NBTSTAT зависит от загрузки и работы NetBIOS, который часто отключается в крупных организациях с собственной инфраструктурой AD и DNS. Вероятно, здесь безопасное предположение, хотя рабочая группа состоит из 50 компьютеров.

Спасибо, Decca, nbtstat просто крут . Мне не удалось на Linux-боксе nmblookup 192.168.1.92 запросить 192.168.1.92 на 192.168.1.255 name_query не удалось найти имя 192.168.1.92

nmblookup является частью пакета Samba моего дистрибутива. Не уверен, почему nmblookup, преобразующий ip в имя хоста, является частью Samba (код сетевой файловой системы и код служб печати).

Технически предпочтительнее ввести nslookup

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

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

Нет. Использование PING — не лучший способ сделать это. Вы можете выполнить nslookup, и он разрешит обратный поиск.

Вы говорите о NSLOOKUP как о каком-то внутреннем инструменте разрешения. В любом случае NSLOOKUP является технически более совершенным вариантом.

Но он прав. nslookup используется в этом сценарии только в том случае, если имеется DNS-сервер (будь то внутренний или внешний), который имеет записи зоны обратного просмотра для хостов OP, и компьютеры OP настроены на использование этого DNS-сервера.

@Izzy Я зарегистрировался как новый участник, чтобы поблагодарить за совет по NSLOOKUP, Иззи. Из всего вышеперечисленного мне подошла только эта. Бесконечно благодарен. --Джефф Моден

Я хотел узнать имена всех устройств в сети. Я уже пробовал без особого успеха многие команды, найденные в Интернете, но ничего не работало так, как хотелось бы.

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

Мне нужен список имен всех устройств, подключенных к моей сети Wi-Fi через командную строку.


9 ответов 9

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

arp-scan сканирует вашу сеть и составляет список устройств. -I выбирает интерфейс, а -l указывает arp-scan смотреть на локальную сеть. Далее введите

Это вернет устройства, обнаруженные с помощью arp-scan, и выведет список их имен хостов и MAC-адресов.

Я обычно использую для этого fing. Это сканер, который сканирует подсеть, в которой вы находитесь, и пытается извлечь имена хостов и отобразить их вместе с IP и MAC.

Как видите, не все устройства выдают свое имя хоста; например, некоторые периферийные устройства, такие как принтеры, не всегда предоставляют имена хостов, но большинство устройств предоставляют. Он даже пытается угадать производителя, анализируя id-часть MAC

Он работает на Raspberry Pi, я недавно установил его на свой, и он работает, как и ожидалось.

Как установить fing? Ваша ссылка недействительна и не включена ни в один из репозиториев Raspberry Pi.

Пожалуйста, укажите, как вы вызвали fing для получения этого вывода. Без команды ответ будет неполным.

Ни одного имени хоста не обнаружено в сети из 22 устройств в первой тестовой сети. То же самое с другими 24 хостами. Fing, на данный момент (февраль 2018 г.) мне кажется беспорядок.

Я думаю, вам нужно быть более точным в своей проблеме, особенно в определении имени устройства.

К сожалению, в данный момент у меня нет доступа к Raspberry Pi, поэтому все, что здесь отображается, взято из моей коробки с Debian 7.

nmap -sP выполняет обратный поиск DNS, поэтому, если ваши устройства имеют обратные записи DNS, вывод выглядит следующим образом:

Хосты, которые блокируют проверки связи, не будут отображаться в выходных данных. Как и любые хосты, которые не предлагают услуги на портах, которые вы сканируете с помощью параметра -p. Сканирование всего диапазона портов с помощью -p 0-65535 , хотя и создает значительный объем сети, все равно не покажет хосты, у которых просто нет открытых портов.

Единственная достоверная информация, которая у вас есть о хостах в вашей сети, это то, что у них есть MAC- и IP-адреса. Ваш DHCP-сервер знает их обоих, так как он назначил IP-адреса. Кроме того, многие DHCP-клиенты отправляют имя хоста, включенное в их DHCP-запрос, поэтому у DHCP-сервера есть имя для этого устройства, даже если это имя больше нигде не встречается (DNS, SMB, …).

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

Чтобы найти все устройства в вашей сети, вы можете создать дамп таблицы ARP после проверки связи со всеми хостами (например, с помощью nmap -sP ):

С MAC-адресами и IP-адресами у вас есть единственная непротиворечивая информация о вашем сетевом окружении. Поиск открытого порта 445 покажет вам устройства, которые, скорее всего, поддерживают SMB (т. е. сеть Windows) и, следовательно, имеют имя Windows.

При подключении к другим открытым портам (например, 21/ftp, 22/ssh, 23/telnet, …) также могут предлагаться имена хостов, но всегда в зависимости от протокола — и теоретически хосты могут называть себя по-разному на всех портах.

В качестве альтернативы вы можете настроить свой собственный сервер DHCP и DNS на Pi и предоставить работающую службу обратного DNS.

Если все ваши устройства поддерживают Zeroconf, возможно, вы сможете выполнить обнаружение устройств таким образом.

Читайте также: