Сканирование ip адресов linux

Системы Linux и UNIX являются сетевыми операционными системами (ОС). Поэтому их эксплуатация неразрывно связана с администрированием и обслуживанием сетей. Независимо от сложности и масштабов сети необходимо проводить постоянный мониторинг окружения сети на предмет качества связи и соединений. А также для определения признаков или даже фактов вредительства в ней или несанкционированных атак. Одним из эффективных инструментов для выполнения подобных задач является команда nmap.

Зачем нужна команда nmap?

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

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

Синтаксис команды nmap и особенности её работы

Команда nmap довольно проста в использовании и каким-то сложным синтаксисом не отличается:

Чего нельзя сказать о количестве, функциональности её ключей и неисчерпаемых возможностях их применения. Официальная документация, доступная на страницах man-руководства (команда man nmap), кроме того, что очень подробная (трудно встретить ещё подробнее), так ещё и имеет качественный перевод (локализации, в том числе и на русском языке) в большинстве Linux-дистрибутивов.

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

Или в Centos/Redhat

Столбец STATE показывает состояние порта: он может быть открыт (open), когда связан с использующими его службами (соединениями), закрыт (closed), когда порт не используется ни одним сервером. Также доступны состояния: unfiltered, когда nmap не смогла определить состояние порта. А также filtered – когда порт защищён (или заблокирован) брандмауэром.

Для задания хоста можно также использовать цифровую запись в виде IP-адреса. Отчёт из данного примера сформирован для самого обычного компьютера, для которого не была сконфигурирована какая-то защита. Как можно видеть, для прослушивания 80 и 443 портов для работы протоколов HTTP и HTTPS соответственно, запущен веб-сервер. Сервер баз данных (БД) MySQL также работает по стандартному порту.

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

Если посмотреть на отчёт команды nmap для более защищённого узла, то он будет выглядеть примерно так:

Как можно видеть, на сканируемом узле (компьютере) скорее всего работает брандмауэр. Который блокирует все порты кроме тех, что отведены для работы почтового и веб- серверов. Таким образом, можно сделать вывод о том, что компьютер по указанному адресу настроен специально для работы с электронной почтой и обработкой HTTP-запросов.

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

Читайте также  При запуске игры пишет отсутствует msvcp110 dll

Помимо всего прочего nmap умеет распознавать, какая ОС используется на проверяемом узле. Путём анализа некоторых особенностей, характерных для реализации стека TCP/IP для разных ОС. Для использования этой возможности существует ключ -O:

Как можно видеть, компьютер с IP-адресом 192.186.0.101 работает под управлением ОС Windows, предположительно Windows 7. Информация в отчёте довольно подробная, определён даже MAC-адрес сканируемого сетевого устройства.

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

Определение активных узлов в сети:

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

Записи адресов в файле указываются также, как и в командной строке. И разделяться должны одним или несколькими пробелами или символами перевода строки. Для сканирования определённых портов:

или диапазона портов:

Сканирование всех портов:

Сканирование определённых типов портов (TCP или UDP):

Соответственно для указания UDP-портов следует указывать опцию -U. Для объединённого сканирования портов:

Для скрытого сканирования:

Сохранение результатов сканирования в файл:

Определить (с высокой степенью вероятности), работает ли на сканируемом узле брандмауэр или другой пакетный фильтр:

Определение только открытых портов:

Определение версии ОС, а также трассировки маршрутов:

Чтобы исключить из сканирования определённые адреса или подсети нужно использовать опцию —exclude:

Чтобы использовать для этой цели данные из файла, применяется опция —excludefile:

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сканирование сети – это участь не только злостных хакеров и просто шпаны, но и вполне адекватных системных администраторов. Причин сканировать сеть – уйма. Но мы не будем вдаваться в них, а лучше расскажем – каким инструментов это можно делать в двух самых популярных системах Unix: Linux Debian и Linux CentOS.

Итак, встречайте: nmap. Утилита доступна сразу из репозиториев.

Ставим

Пользуемся

Использование в Debian и CentOS одинаковое – утилита, по сути, одна и та же.

где вместо 192.168.0.0/24 указываете нужную подсеть.

Сканирование в данном режиме она будет вести. ну, скажем так – чай вы попить успеете с булочками и крендельками точно. Потому сканировать она будет ВСЕ.

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

Исключаем определенные участки

Например, нам нужно протестить 192.168.0.0/24 кроме хостов 192.168.0.10 и 192.168.0.22 и маленькой подсети 192.168.0.200/31:

Список хостов/сетей из файла

Сканирование только пингом (быстрое)

Что покажет Вам вот такой результат:

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

Отключаем резолвинг DNS

или вот так (для только-пинга):

Сканировать только определенные порты

или, с разделением на TCP и UDP:

Пытаться определить тип операционной системы

Если честно – ОС определяет отправтно, т.ч. большой смысл в этом есть только тогда, когда Вам надо отделать Windows от Unix.

Отображать все хосты/IP из диапазона, даже если там ничего не найдено

Показать свободные IP адреса из заданного диапазона

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

Читайте также  Слетает вай фай на ноутбуке виндовс 10

Следует учесть, что если какая-то железка во время скана выключена или за файерволом и не светится, но IP имеет – Вы получите далеко не точную картину!

Еще, еще.

Много больше опций – по man nmap.

Здесь – только самое подручное.

Вопросы и ответы

Последние комментарии

Согласно Same-origin policy не передаются куки в следующих случаях

1. включено обязательное шифрование
2. не разрешены кросдоменные запросы между разными доменами
3. на одном и том же хосте выполняются запросы на разные порты ( при этом куки могут быть и доступными хостам на разных портах и вооще теряться от одного из хостов порт)
4. не разрешено передача куки на поддомен , при его указании или не указании заголовке
5. значение куки просрочено

пути решения:
1) подробное описание проблемы в спецификациях RFC 6265, RFC 2109 и RFC 2965, RFC2109 4.3.1
2) пробуйте разрешить кроссдоменные запросы XMLHttpRequest.withCredentials
3) пробуйте изменить запросы с разных хостов например если запущены 2 сервера на одном локальном хосте но на разных портах, то можно использовать вместо

можно использовать (например из адресной сроки доступ не по хосту а по ip, а аякс запросы будут выполнятся иначе)

localhost:8080
127.0.0.1:8080
[::1]:8080
::1:8000

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

Самый надежный способ обнаружить все подключенные к сети Linux устройства, в том числе и скрытые – это ARP сканирование локальной сети linux. Как вы знаете, у всех компьютеров в сети есть ip адреса. Никогда не задавались вопросом, как сеть определяет, какому компьютеру принадлежит тот или иной адрес? Ведь сети бывают разные, проводные, беспроводные, ppp и т д. И в каждой из этих сетей аппаратный адрес компьютера имеет свой формат, зависящий от конструктивных особенностей сети, а ip адреса одни и те же.

Все очень просто. Для преобразования физических адресов, в ip адреса используется протокол ARP (Address Resolution Protocol), так и расшифровывается – протокол разрешения адресов. Когда компьютеру нужно обратиться к другому компьютеру в локальной сети, он отправляет специальный запрос в котором буквально спрашивает "У кого ip адрес 192.168.1.4", компьютер с таким ip адресом отправляет ответ "У меня 11:22:33:44:55", в ответе он передает свой физический адрес в этой сети. Дальше этот адрес заносится в специальную таблицу. но это уже тонкости реализации и они выходят за рамки нашей статьи. Сегодня мы поговорим как самому выполнить ARP сканирование локальной сети linux и найти все подключенные устройства.

Формат сообщений ARP – простой. Сообщение содержит либо запрос с IP адресом, либо ответ. Размер сообщения зависит от используемого сетевого протокола ipv4 или ipv6, типа оборудования сети и т д. Типы и размеры адресов определяются в заголовке сообщения. Заголовок завершается кодом сообщения. Код 1 для запроса и 2 для ответа.

Тело сообщения состоит из четырех адресов, аппаратные и сетевые адреса отправителя и получателя.

Если в вашей сети есть устройства, которые не отвечают на любые запросы, такие как Ping, HTTP, HTTPS и т д, то их можно найти послав ARP запрос. Это могут быть различные фаерволы и маршрутизаторы, в том числе маршрутизаторы компании Cisco, такое поведение заложено их протоколом. В таком случае ARP сканирование сети Linux будет единственным способом найти такое устройство.

Читайте также  Саша золотов блоггер биография

ARP-Scan

ARP Scan или еще называемый MAC Scanner – это очень быстрый инструмент для сканирования локальной сети Linux с помощью ARP. Утилита показывает все IPv4 адреса устройств в вашей сети. Поскольку ARP не использует маршрутизацию, то такой вид сканирования работает только в локальной сети.

ARP Scan находит все активные устройства, даже если у них включен брандмауэр. Компьютеры не могут скрыться от ARP также как они скрываются от Ping. Но ARP сканирование не подходит для поиска компьютеров за пределами локальной сети, в таких ситуациях используйте Ping сканирование. Например такой сканер как NetScanner.

Установка ARP Scan

Этот arp сканер сети доступен для следующих операционных систем:

  • Debian, поставляется по умолчанию
  • Ubuntu, можно установить с репозитория Universe
  • Fedora, официальные репозитории начиная с версии 6
  • RedHat – доступна начиная с версии 5
  • Gentoo, официальные репозитории
  • ArchLinux – официальные репозитории Pacman.

Для установки в Ubuntu выполните:

sudo apt-get install arp-scan

ARP Сканирование локальной сети Linux

ARP Scan позволяет находить активные компьютеры как в проводных сетях ethernet, так и в беспроводных Wifi сетях. Также есть возможность работать с Token Ring и FDDI. Не поддерживаются последовательные соединения PPP и SLIP, поскольку в них не используется ARP. Программу нужно запускать с правами суперпользователя.

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

sudo arp-scan –interface=wlan0 –localnet

Interface: wlan0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
10.42.0.121 cc:07:e4:13:9b:22 (Unknown)
10.42.0.217 1c:3e:84:23:96:ec Hon Hai Precision Ind. Co.,Ltd.

4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9: 256 hosts scanned in 2.543 seconds (100.67 hosts/sec). 2 responded
Здесь параметр –interface, задает интерфейс для сканирования, а –localnet, говорит, что нужно использовать все возможные ip адреса для текущей сети.

Первый параметр можно опустить, тогда программа будет искать все узлы для интерфейса с меньшим номером в системе. В нашем примере имя интерфейса – wlan0, но при использовании systemd интерфейсы могут называться enp2s0f0 и т д. Чтобы посмотреть, какие есть интерфейсы в вашей системе наберите:

Вместо параметра –localnet, можно указать маску сети:

sudo arp-scan –interface=wlan0 10.0.1.0/24

ARP сканирование можно использовать, даже если у вашего интерфейса нет IP адреса. Тогда в качестве исходящего адреса будет использован 0.0.0.0. Правда, на такие запросы могут ответить не все системы. Тогда ARP сканер сети не так эффективен.

ARP спуфинг и ARP прокси

Поскольку в ARP нет поддержки аутентификации, ARP ответ на запрос может отправить любая машина, даже не та которой он был адресован. Иногда такое поведение используется в архитектуре сети – ARP прокси или маршрутизатор предает свой IP адрес вместо адреса запрашиваемой машины. Но также может использоваться для перехвата данных, отправляемых компьютером. Хакер может использовать ARP чтобы выполнить атаку "Человек посередине" или "Отказ в обслуживании" на других пользователей сети. Для защиты от таких атак существует специальное программное обеспечение.

Выводы

ARP Scan это простой, но очень мощный инструмент, с помощью которого можно выполнять сканирование ip адресов в локальной сети linux. Те, кто знаком с Cisco маршрутизаторами и коммутаторами, знают что найти такие устройства можно только с помощью ARP. Это полезный инструмент, возможно, когда-то вам он пригодится.

Ссылка на основную публикацию
Adblock detector