Поиск по сайту:

Как увидеть все устройства в вашей сети с помощью nmap в Linux


Думаете, вы знаете, что подключено к вашей домашней сети? Вы можете быть удивлены. Узнайте, как проверить с помощью nmap в Linux, что позволит вам исследовать все устройства, подключенные к вашей сети.

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

Если вам нужно, установите nmap

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

Если нет, то вот как установить его в Ubuntu.

sudo apt-get install nmap

Вот как установить его на Fedora.

sudo dnf install nmap

Вот как установить его на Manjaro.

sudo pacman -Syu nmap

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

Найдите свой IP-адрес

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

Удобно, что Linux предоставляет команду с именем ip и имеет параметр с именем addr (адрес). Введите ip, пробел, addr и нажмите Enter.

ip addr

В нижней части вывода вы найдете свой IP-адрес. Ему предшествует метка «inet».

IP-адрес этого компьютера «192.168.4.25». «/24» означает, что в маске подсети есть три последовательных набора из восьми единиц. (И 3 х 8=24.)

В двоичном виде маска подсети:

11111111.11111111.11111111.00000000

а в десятичном виде это 255.255.255.0.

Маска подсети и IP-адрес используются для указания, какая часть IP-адреса идентифицирует сеть, а какая — устройство. Эта маска подсети информирует оборудование о том, что первые три цифры IP-адреса идентифицируют сеть, а последняя часть IP-адреса идентифицирует отдельные устройства. А поскольку наибольшее число, которое вы можете удержать в 8-битном двоичном числе, равно 255, диапазон IP-адресов для этой сети будет от 192.168.4.0 до 192.168.4.255.

Все это заключено в «/24». К счастью, nmap работает с этой нотацией, поэтому у нас есть все, что нам нужно, чтобы начать использовать nmap.

Начать работу с nmap

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

Давайте начнем простое сканирование с помощью nmap. Мы собираемся использовать параметр -sn (не сканировать порт). Это говорит nmap пока не проверять порты на устройствах. Это сделает легкое, быстрое сканирование.

Несмотря на это, запуск nmap может занять некоторое время. Конечно, чем больше у вас устройств в сети, тем больше времени это займет. Сначала он выполняет всю свою исследовательскую и разведывательную работу, а затем представляет свои результаты после завершения первого этапа. Не удивляйтесь, если в течение минуты или около того ничего не произойдет.

IP-адрес, который мы собираемся использовать, — это тот, который мы получили ранее с помощью команды ip, но окончательный номер равен нулю. Это первый возможный IP-адрес в этой сети. «/24» указывает nmap сканировать весь диапазон этой сети. Параметр «192.168.4.0/24» переводится как «начинать с IP-адреса 192.168.4.0 и работать через все IP-адреса до 192.168.4.255 включительно».

Обратите внимание, что мы используем sudo.

sudo nmap -sn 192.168.4.0/24

После небольшого ожидания вывод записывается в окно терминала.

Вы можете запустить это сканирование без использования sudo, но использование sudo гарантирует, что он сможет извлечь как можно больше информации. Например, без sudo это сканирование не вернет информацию о производителе.

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

Вот конец списка.

Мы составили список подключенных сетевых устройств, поэтому знаем, сколько их. Включено и подключено к сети 15 устройств. Мы знаем производителя некоторых из них. Или, как мы увидим, у нас есть то, что nmap сообщил как производитель, в меру своих возможностей.

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

Что представляют собой некоторые из этих устройств, мне ясно. Raspberry Pi Foundation не требует пояснений. Устройство Amazon Technologies будет моей Echo Dot. Единственное устройство Samsung, которое у меня есть, это лазерный принтер, так что это сужает круг. Есть несколько устройств, перечисленных как произведенные Dell. Это легко, это ПК и ноутбук. Устройство Avaya — это IP-телефон с передачей голоса, который обеспечивает мне добавочный номер в телефонной системе головного офиса. Это позволяет им легче приставать ко мне дома, так что я хорошо знаю об этом устройстве.

Но у меня еще остались вопросы.

Есть несколько устройств с именами, которые для меня ничего не значат. Например, технология Liteon и компьютерные системы Elitegroup.

У меня есть (путь) более одного Raspberry PI. Количество подключенных к сети всегда будет варьироваться, потому что они постоянно меняются местами и выходят из строя по мере того, как они перерисовываются и переназначаются. Но определенно, должно быть больше, чем одно появление.

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

Выполните более глубокое сканирование

Если мы удалим параметр -sn, nmap также попытается проверить порты на устройствах. Порты — это пронумерованные конечные точки для сетевых подключений на устройствах. Рассмотрим многоквартирный дом. У всех квартир один и тот же адрес (эквивалент IP-адреса), но каждая квартира имеет свой номер (эквивалент порта).

Каждая программа или служба на устройстве имеет номер порта. Сетевой трафик доставляется на IP-адрес и порт, а не только на IP-адрес. Некоторые номера портов предварительно выделены или зарезервированы. Они всегда используются для передачи сетевого трафика определенного типа. Например, порт 22 зарезервирован для соединений SSH, а порт 80 зарезервирован для веб-трафика HTTP.

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

карта 192.168.4.0/24

На этот раз мы получаем более подробную информацию о каждом устройстве. Нам сказали, что в сети 13 активных устройств. Подождите минуту; минуту назад у нас было 15 устройств.

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

Выхода было много. Давайте сделаем это снова и запишем это в файл.

nmap 192.168.4.0/24 > nmap-list.txt

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

less nmap-list.txt

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

Согласно списку, который мы создали ранее, 192.168.4.10 — это Raspberry Pi. На нем будет работать тот или иной дистрибутив Linux. Так что же использует порт 445? Он описывается как «Microsoft-DS». Microsoft на Pi под управлением Linux? Мы обязательно рассмотрим это.

192.168.4.11 был помечен как «Неизвестно» при предыдущем сканировании. У него открыто много портов; нам нужно знать, что это такое.

192.168.4.18 также был идентифицирован как Raspberry Pi. Но у этого Pi и устройства 192.168.4.21 открыт порт 8888, который, по описанию, используется «sun-answerbook». Sun AnswerBook — это уже давно выведенная из употребления (элементарная) система поиска документации. Излишне говорить, что он у меня нигде не установлен. Это нужно посмотреть.

Устройство 192.168.4.22 ранее было идентифицировано как принтер Samsung, что подтверждается здесь тегом с надписью «принтер». Что бросилось в глаза, так это то, что HTTP-порт 80 присутствует и открыт. Этот порт зарезервирован для трафика веб-сайта. Есть ли у моего принтера веб-сайт?

Сообщается, что устройство 192.168.4.31 производится компанией Elitegroup Computer Systems. Я никогда о них не слышал, а на устройстве открыто много портов, так что мы это рассмотрим.

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

Мы выстроили подозреваемых; Давайте заставим их говорить

Устройство 192.168.4.10 — это Raspberry Pi с открытым портом 445, который описывается как «microsoft-ds». Быстрый поиск в Интернете показывает, что порт 445 обычно связан с Samba. Samba — это бесплатная программная реализация протокола Microsoft Server Message Block (SMB). SMB — это средство обмена папками и файлами по сети.

Это имеет смысл; Я использую этот конкретный Pi как своего рода мини-сетевое запоминающее устройство (NAS). Он использует Samba, так что я могу подключиться к нему с любого компьютера в моей сети. Хорошо, это было легко. Один упал, еще несколько впереди.

Неизвестное устройство со многими открытыми портами

Устройство с IP-адресом 192.168.4.11 было неизвестного производителя и открыто много портов.

Мы можем использовать nmap более агрессивно, чтобы попытаться получить больше информации с устройства. Параметр -A (агрессивное сканирование) заставляет nmap использовать определение операционной системы, определение версии, сканирование скриптов и обнаружение трассировки.

Опция -T (шаблон времени) позволяет указать значение от 0 до 5. Это устанавливает один из режимов времени. У режимов тайминга отличные названия: параноидальный (0), подлый (1), вежливый (2), нормальный (3), агрессивный (4) и безумный (5). Чем меньше число, тем меньше влияние nmap на пропускную способность и других пользователей сети.

Обратите внимание, что мы не предоставляем nmap диапазон IP-адресов. Мы фокусируем nmap на одном IP-адресе, который является IP-адресом рассматриваемого устройства.

sudo nmap -A -T4 192.168.4.11

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

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

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

Далее в выводе nmap мы получили адрес управления доступом к среде (MAC-адрес) устройства. Это уникальная ссылка, которая назначается сетевым интерфейсам.

Первые три байта MAC-адреса известны как уникальный идентификатор организации (OUI). Это можно использовать для идентификации поставщика или производителя сетевого интерфейса. Если вы гик, который собрал базу данных из 35 909 из них, то есть.

Моя утилита говорит, что она принадлежит Google. С предыдущим вопросом об особой версии Linux и подозрением, что это может быть устройство Интернета вещей, это справедливо и прямо указывает пальцем на мой мини-умный динамик Google Home.

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

Обнадеживает, что это соответствует моим результатам.

Один из способов узнать идентификатор устройства — выполнить сканирование, выключить устройство и снова выполнить сканирование. IP-адрес, который сейчас отсутствует во втором наборе результатов, будет устройством, которое вы только что выключили.

Книга ответов Солнца?

Следующей загадкой стало описание «солнце-ответчик» для Raspberry Pi с IP-адресом 192.168.4.18. Такое же описание «sun-answerbook» отображалось для устройства по адресу 192.168.4.21. Устройство 192.168.4.21 — это настольный компьютер с Linux.

nmap делает наилучшие предположения об использовании порта из списка известных программных ассоциаций. Конечно, если какая-либо из этих ассоциаций портов больше не применима — возможно, программное обеспечение больше не используется и его срок службы истек — вы можете получить вводящие в заблуждение описания портов в результатах сканирования. Скорее всего, так и было: система Sun AnswerBook восходит к началу 1990-х годов и является не более чем далеким воспоминанием для тех, кто хотя бы слышал о ней.

Итак, если это не какое-то древнее программное обеспечение Sun Microsystems, то что может быть общего у этих двух устройств, Raspberry Pi и рабочего стола?

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

Я использовал 192.168.4.18:8888 в качестве адреса в своем браузере. Это формат для указания IP-адреса и порта в браузере. Используйте двоеточие :, чтобы отделить IP-адрес от номера порта.

Веб-сайт действительно открылся.

Это портал администрирования для любых устройств, на которых работает Resilio Sync.

Я всегда использую командную строку, поэтому совершенно забыл об этом средстве. Таким образом, список записей Sun AnswerBook был полным отвлекающим маневром, а служба, стоящая за портом 8888, была идентифицирована.

Скрытый веб-сервер

Следующей проблемой, которую я записал, чтобы взглянуть на нее, был HTTP-порт 80 на моем принтере. Опять же, я взял IP-адрес из результатов nmap и использовал его в качестве адреса в своем браузере. Мне не нужно было предоставлять порт; браузер по умолчанию использует порт 80.

И вот; в моем принтере есть встроенный веб-сервер.

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

Другое неизвестное устройство

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

Я добавил в параметр -Pn (без пинга). Это заставляет nmap предположить, что целевое устройство включено, и продолжить другие сканирования. Это может быть полезно для устройств, которые не реагируют должным образом и сбивают с толку nmap, думая, что они не в сети.

sudo nmap -A -T4 -Pn 192.168.4.24

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

Сообщалось, что он использует ядро Linux от Mandriva Linux. Mandriva Linux был дистрибутивом, выпуск которого был прекращен еще в 2011 году. Он существует благодаря новому сообществу, поддерживающему его, как OpenMandriva.

Возможно, еще одно устройство Интернета вещей? наверное, нет — у меня их всего два, и оба учтены.

Обход комнаты за комнатой и подсчет физических устройств ничего мне не дали. Давайте посмотрим на MAC-адрес.

Так, оказывается, это был мой мобильный телефон.

Помните, что вы можете выполнять эти поиски в Интернете, используя страницу поиска производителя Wireshark.

Элитгруп Компьютерные Системы

Последние два вопроса, которые у меня были, касались двух устройств с незнакомыми мне названиями производителей, а именно Liteon и Elitegroup Computer Systems.

Сменим тактику. Еще одна команда, полезная для идентификации устройств в вашей сети, — arp. arp используется для работы с таблицей протокола разрешения адресов на вашем компьютере с Linux. Он используется для преобразования IP-адреса (или сетевого имени) в MAC-адрес.

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

В Ubuntu используйте apt-get:

sudo apt-get install net-tools

В Fedora используйте dnf :

sudo dnf install net-tools

В Manjaro используйте pacman :

sudo pacman -Syu net-tools

Чтобы получить список устройств и их сетевых имен — если они были назначены — просто введите arp и нажмите Enter.

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

Имена в первом столбце — это имена машин (также называемые именами хостов или сетевыми именами), которые были назначены устройствам. Некоторые из них я установил (например, Nostromo, Cloudbase и Marineville), а некоторые были установлены производителем (например, Vigor.router).

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

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

Например, пропингуем Nostromo.local и узнаем, какой у него IP-адрес. Обратите внимание, что имена машин нечувствительны к регистру.

ping nostromo.local

Вы должны использовать Ctrl+C, чтобы остановить ping.

Вывод показывает нам, что его IP-адрес — 192.168.4.15. И это устройство было обнаружено при первом сканировании nmap с Liteon в качестве производителя.

Компания Liteon производит компьютерные комплектующие, которые используются многими производителями компьютеров. В данном случае это Wi-Fi-карта Liteon внутри ноутбука Asus. Так что, как мы отмечали ранее, имя производителя, которое возвращает nmap, является лишь его лучшим предположением. Как nmap узнал, что Wi-Fi-карта Liteon установлена на ноутбуке Asus?

И наконец. MAC-адрес устройства, изготовленного Elitegroup Computer Systems, совпадает с адресом в списке arp для устройства, которое я назвал LibreELEC.local.

Это Intel NUC с медиаплеером LibreELEC. Итак, у этого NUC есть материнская плата от компании Elitegroup Computer Systems.

И вот, все загадки разгаданы.

Все учтено

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

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

RELATED: Best Linux Laptops for Developers and Enthusiasts