Сканирование сети с помощью Nmap.
Nmap (Network Mapper) — универсальная программа для сканирования сети. Большой плюс в том, что она применима как на Windows , так и на Linux-системах.
Nmap можно использовать как для помощи в администрировании сети, так и для проверки сети на уязвимости, узнать как порты открыты и что можно узнать по данным портам.
В данной статье мы расскажем про наиболее интересные команды, которые могут вам пригодиться.
Nmap показывает состояния по портам:
open — порт открыт для определенного сервиса или приложения;
filtered — порт блокируется фаерволлом;
closed — порт закрыт;
unfiltered — невозможно точно определить статус порта;
Перейдем к самим командам и ключам Nmap на примерах.
Для примера мы находимся в локальной сети 192.168.0.0/24 и будем ее сканировать, но так же можно сканировать любой внешний адрес или доменное имя.
Установка namp командой:
yum install nmap
Сканирование с помощью NMAP.
Сканируем подсеть на c выводом состояния подключений на каждом ip-адресе.
Как использовать Nmap. Подробная инструкция
Если в момент сканирования нажать «Пробел», то видим в процентах сколько уже про сканировано.
#nmap -sL 192.168.0.0/24
Если нам нужно отобразить только адреса в состоянии UP, то команда будет выглядеть следующим образом:
#nmap -sn 192.168.0.0/24
Команда nmap с ключом -sL сканирует заданную подсеть и выводит информацию о обнаруженных активных хостах в виде списка.
Можно также сканировать несколько подсетей одной командой, например подсети 192.168.0.0/24 и 10.34.100.0/24
#nmap -sL 192.168.0.0/24 10.34.100.0/24
либо, первые 100 адресов подсети 192.168.0.0/24
#nmap -sL 192.168.0.0-100
#nmap -sP 192.168.0.0/24
Если задать ключ -sP, то nmap выводит более подробную информацию о ip-адресе в виде:
# nmap -sP 192.168.0.0/24 Nmap scan report for Dlink-Router.Dlink (192.168.0.1) Host is up (0.0020s latency). MAC Address: BC:F6:XX:XX:XX:XX (D-Link International)
Мы можем также узнать операционную систему узла 192.168.0.50, через команду:
# nmap -O 192.168.0.50
Сканирование по портам с помощью NMAP.
Можно указать диапазон портов, например 1000-1010 для сканирования адреса 192.168.0.100:
#nmap -p 1000-1010 192.168.0.100
если мы хотим просканировать только tcp-порты, то используем перед портами T:, если UDP-порты, то пишем U:. Например, сканируем только порты U:53, T:23,22 для хоста 192.168.0.0/24:
#nmap -p U:53, T:23,22 192.168.0.0/24
либо с именем сервиса-порта:
#nmap -p ftp 192.168.0.0/24
Ключ «-p-» сканировать все 65 тысяч портов, по-умолчанию сканируется только около 1000-топ портов.
#nmap -p- 192.168.0.100
Как узнать информацию о запущенных сервисах на сайте или узле локальной сети?
Для поиска информации о сервисах используется ключ -sV.
#nmap -sV 192.168.0.201
Который расскажет нам историю про порт (80/tcp), состояние порта (open, closed), имя сервиса (http) и его версию (nginx).
Если вводить команду nmap 192.168.0.201 без каких-либо ключей, то мы видим почти одинаковый вывод как и с ключом -sV, только без колонки VERSION.
Показать только открытые порты.
#nmap 192.168.0.100 —open
Работа NMAP со скриптами.
У NMAP есть стандартная библиотека скриптов, через которые можно прогнать определенный хост. Скрипты можно увидеть командой:
#find /usr/share/nmap/scripts/
Как использовать библиотеку скриптов в nmap?
Через предыдущую команду мы видим в списке скрипт vnc-brute.nse, который по своей библиотеке будет перебирать учетные записи(логи-пароль) для получения доступа к узлу.
Например командой
nmap 192.168.0.100 —open
мы определили, что у хоста открыт порт 5801 и относится к сервису VNC. Теперь прогоним стандартный скрипт для vnc на наличие уязвимости либо командой:
#nmap -sC 192.168.0.10
0, которая прогонит адрес всеми скриптами в библиотеке, или
#nmap —script vnc-brute.nse 192.168.0.100
Обновить базу скриптов можно командой:
#nmap —script-updatedb
Далее примеры nmap и возможности коротко, сборки с интернета:
#nmap -p- -PS80,443 -n -T4 -p- -sS —reason 192.168.0.100
-p- сканирует весь диапазон портов;
-PS80,443 доступность адреса только если проходит ping по доступности tcp-портов 80,;
-n не делать DNS-resolve;
-T4 — быстрое сканирование;
-vvv — порты будут отображаться в онлайн-режиме сканирования, а не по окончанию;
— reason — выясняет почему nmap вывел порт в определенном состоянии
#nmap -v -iR 10 -PN -p 22 192.168.0.200
сканируем случайные 10 адресов по 22 порту;
-PN пропускаем обнаружение хостов.
#nmap -sV -p 22,80,443 192.168.0.100-150
сканер по портам 22,80,443 50 адресов с выводом информации о работающей службе по данным портам.
#nmap —traceroute adminwin.ru
показывает трасировку до хоста.
Дополнительные ключи для обходи систем защиты:
-f; —mtu : Фрагментировать пакеты (опционально с заданным значением MTU).
-D : Маскировка сканирования с помощью фиктивных хостов.
-S : Изменить исходный адрес.
-e : Использовать конкретный интерфейс.
-g/—source-port : Использовать заданный номер порта.
—data-length : Добавить произвольные данные к посылаемым пакетам.
—ip-options : Посылать пакет с заданным ip опциями.
—ttl : Установить IP поле time-to-live (время жизни).
—spoof-mac : Задать собственный MAC адрес.
—badsum: Посылать пакеты с фиктивными TCP/UDP контрольными суммами.
One thought on “ Сканирование сети с помощью Nmap. ”
И не вздумайте использовать ключ -A для сканирования машин на которых стоит Oracle i8: если таковой там был, ляжет. Забыли написать про очень важный параметр — -P0 — сканирует неотвечающие хосты. И вообще — думаю 80% людей на хабре — знают как пользоваться nmap.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник: adminwin.ru
Как пользоваться Nmap для сканирования сети
Nmap — это очень популярный сканер сети с открытым исходным кодом, который может использоваться как в Windows, так и в Linux. Программа Nmap или Network Mapper была разработана Гордоном Луоном и на данный момент используется специалистами по безопасности и системными администраторами по всему миру.
Эта программа помогает системным администраторам очень быстро понять какие компьютеры подключены к сети, узнать их имена, а также посмотреть какое программное обеспечение на них установлено, какая операционная система и какие типы фильтров применяются. Функциональность программы может быть расширена за счет собственного скриптового языка, который позволяет администраторам автоматизировать много действий.
Например, с помощью скриптов можно автоматически обнаруживать новые уязвимости безопасности в вашей сети. Namp может использоваться с хорошими и плохими намерениями, будьте аккуратны, чтобы не использовать nmap против закона. В этой инструкции мы рассмотрим как пользоваться namp для сканирования портов в операционной системе Linux. Но сначала нужно попытаться понять как работает эта утилита.
Как работает Nmap?
В компьютерных сетях все подключенные устройства имеют свой ip адрес. Каждый компьютер поддерживает протокол ping, с помощью которого можно определить подключен ли он к сети. Мы просто отправляем ping запрос компьютеру, и если он отзывается, то считаем, что он подключен. Nmap использует немного иной подход. Компьютеры также определенным образом реагируют на те или иные сетевые пакеты, утилита просто отправляет нужные пакеты и смотрит какие хосты прислали ответ.
Но об этом вы, наверное, уже знаете. Более интересно то как Nmap узнает какие сервисы запущены на машине. Суть работы всех сетевых программ основана на портах. Чтобы получить сообщение из сети, программа должна открыть порт на вашем компьютере и ждать входящих соединений. А для отправки сообщения по сети нужно подключиться к уже другой программой (адресатом) порту.
Затем программе необходимо будет открыть порт, на котором она будет ждать ответа.
Утилита nmap в процессе сканирования сети перебирает доступный диапазон портов и пытается подключиться к каждому из них. Если подключение удалось, в большинстве случаев, передав несколько пакетов программа может даже узнать версию программного обеспечения, которые ожидает подключений к этому порту. Теперь, после того, как мы рассмотрели основы, рассмотрим как пользоваться nmap для сканирования портов и сети.
Синтаксис Nmap
Команда запуска Nmap очень проста для этого достаточно передать ей в параметрах целевой IP адрес или сеть, а также указать опции при необходимости:
$ nmap опции адрес
Теперь давайте рассмотрим основные опции, которые понадобятся нам в этой статье.
- -sL — просто создать список работающих хостов, но не сканировать порты nmap;
- -sP — только проверять доступен ли хост с помощью ping;
- -PN — считать все хосты доступными, даже если они не отвечают на ping;
- -sS/sT/sA/sW/sM — TCP сканирование;
- -sU — UDP сканирование nmap;
- -sN/sF/sX — TCP NULL и FIN сканирование;
- -sC — запускать скрипт по умолчанию;
- -sI — ленивое Indle сканирование;
- -p — указать диапазон портов для проверки;
- -sV — детальное исследование портов для определения версий служб;
- -O — определять операционную систему;
- -T[0-5] — скорость сканирования, чем больше, тем быстрее;
- -D — маскировать сканирование с помощью фиктивных IP;
- -S — изменить свой IP адрес на указанный;
- -e — использовать определенный интерфейс;
- —spoof-mac — установить свой MAC адрес;
- -A — определение операционной системы с помощью скриптов.
Теперь, когда мы рассмотрели все основные опции, давайте поговорим о том, как выполняется сканирование портов nmap.
Как пользоваться Nmap для сканирования портов в Linux
Дальше рассмотрим примеры nmap. Сначала давайте рассмотрим как найти все подключенные к сети устройства, для этого достаточно использовать опцию -sL и указать маску нашей сети. в моем случае это 192.168.1.1/24. Маску вашей локальной сети вы можете найти, выполнив команду:
Из вывода для используемого интерфейса возьмите число после слеша, а до слэша укажите ip вашего роутера. Команда на сканирование сети nmap будет выглядеть вот так:
nmap -sL 192.168.1.1/24
Иногда это сканирование может не дать никаких результатов, потому что некоторые операционные системы имеют защиту от сканирования портов. Но это можно обойти, просто использовав для сканирования ping всех ip адресов сети, для этого есть опция -sn:
nmap -sn 192.168.1.1/24
Как видите, теперь программа обнаружила активные устройства в сети. Дальше мы можем сканировать порты nmap для нужного узла запустив утилиту без опций:
sudo nmap 192.168.1.1
Теперь мы можем видеть, что у нас открыто несколько портов, все они используются каким-либо сервисом на целевой машине. Каждый из них может быть потенциально уязвимым, поэтому иметь много открытых портов на машине небезопасно. Но это еще далеко не все, что вы можете сделать, дальше вы узнаете как пользоваться nmap.
Чтобы узнать более подробную информацию о машине и запущенных на ней сервисах вы можете использовать опцию -sV. Утилита подключится к каждому порту и определит всю доступную информацию:
sudo nmap -sV 192.168.1.1
На нашей машине запущен ftp, а поэтому мы можем попытаться рассмотреть эту службу подробнее с помощью стандартных скриптов nmap. Скрипты позволяют проверить порт более детально, найти возможные уязвимости. Для этого используйте опцию -sC и -p чтобы задать порт:
sudo nmap -sC 192.168.56.102 -p 21
Мы выполняли скрипт по умолчанию, но есть еще и другие скрипты, например, найти все скрипты для ftp вы можете командой:
sudo find /usr/share/nmap/scripts/ -name ‘*.nse’ | grep ftp
Затем попытаемся использовать один из них, для этого достаточно указать его с помощью опции —script. Но сначала вы можете посмотреть информацию о скрипте:
sudo nmap —script-help ftp-brute.nse
Этот скрипт будет пытаться определить логин и пароль от FTP на удаленном узле. Затем выполните скрипт:
sudo nmap —script ftp-brute.nse 192.168.1.1 -p 21
В результате скрипт подобрал логин и пароль, admin/admin. Вот поэтому не нужно использовать параметры входа по умолчанию.
Также можно запустить утилиту с опцией -A, она активирует более агрессивный режим работы утилиты, с помощью которого вы получите большую часть информации одной командой:
sudo nmap -A 192.168.1.1
Обратите внимание, что здесь есть почти вся информация, которую мы уже видели раньше. Ее можно использовать чтобы увеличить защиту этой машины.
Выводы
В этой статье мы рассмотрели как выполняется сканирование портов nmap, а также несколько простых примеров использования этой утилиты. Эти команды nmap могут быть полезными многим системным администраторам, чтобы улучшить безопасность их систем. Но это далеко не все возможности утилиты. Продолжайте экспериментировать с утилитой чтобы узнать больше только не в чужих сетях!
Источник: losst.pro
Как использовать команду nmap
Nmap — это мощный инструмент сетевого сканирования для аудита безопасности и тестирования на проникновение. Это один из основных инструментов, используемых администраторами сети для устранения проблем с подключением к сети и сканирования портов .
Nmap также может определять Mac-адрес, тип ОС , версию службы и многое другое.
В этой статье объясняются основы того, как использовать команду nmap для выполнения различных сетевых задач.
Установка Nmap
Nmap — это многоплатформенная программа, которую можно установить во всех основных операционных системах. Первоначально он был выпущен как инструмент только для Linux, а позже был перенесен на другие системы, такие как BSD, Windows и macOS.
Если вы предпочитаете графический интерфейс, а не командную строку, Nmap также имеет графический пользовательский интерфейс под названием Zenmap.
Официальные бинарные пакеты доступны для загрузки со страницы загрузки Nmap.
Процедура установки проста и зависит от вашей операционной системы.
Установка Nmap в Ubuntu и Debian
Nmap доступен из репозиториев Ubuntu и Debian по умолчанию. Чтобы установить его, запустите:
sudo apt update sudo apt install nmap
Установка Nmap на CentOS и Fedora
На CentOS и других производных от Red Hat запускаются:
sudo dnf install nmap
Установка Nmap на macOS
Пользователи macOS могут установить Nmap, загрузив установочный пакет «.dmg» с сайта Nmap или через Homebrew:
brew install nmap
Установка Nmap в Windows
Версия Nmap для Windows имеет некоторые ограничения и, как правило, немного медленнее, чем версия для UNIX.
Самый простой вариант установки Nmap в Windows — это загрузить и запустить самоустанавливающийся exe-файл.
Вы можете запустить Nmap в Windows либо из командной строки, либо запустив программу Zenmap. Для получения дополнительной информации о том, как использовать Nmap в Windows, ознакомьтесь с инструкциями по использованию после установки.
Использование Nmap
Nmap обычно используется для аудита сетевой безопасности, отображения сети, определения открытых портов и поиска сетевых устройств.
Упрощенный синтаксис команды nmap выглядит следующим образом:
nmap [Options] [Target. ]
Самый простой пример использования Nmap — сканирование одной цели от имени обычного пользователя без указания каких-либо параметров:
nmap scanme.nmap.org
При вызове от имени пользователя без полномочий root, у которого нет прав на использование сырых пакетов, nmap запускает сканирование TCP-соединения. Параметр -sT по умолчанию включен в непривилегированном режиме.
Вывод будет выглядеть примерно так, включая основную информацию о сканировании и список открытых и отфильтрованных TCP-портов.
Starting Nmap 7.91 ( https://nmap.org ) at 2020-12-16 20:19 CET Nmap scan report for cast.lan (192.168.10.121) Host is up (0.048s latency). Not shown: 981 closed ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 53/tcp open domain 80/tcp open http 110/tcp open pop3 143/tcp open imap 443/tcp open https 587/tcp open submission 993/tcp open imaps 995/tcp open pop3s 1025/tcp open NFS-or-IIS 1080/tcp open socks 8080/tcp open http-proxy 8081/tcp open blackice-icecap Nmap done: 1 IP address (1 host up) scanned in 1.78 seconds
Самым популярным вариантом сканирования является TCP SYN scan ( -sS ), который быстрее, чем вариант подключения, и работает со всеми совместимыми стеками TCP.
-sS включается по умолчанию, когда nmap вызывает пользователь с административными привилегиями:
sudo nmap 192.168.10.121
Для более подробного вывода используйте увеличение детализации с помощью -v или -vv :
sudo nmap -vv 192.168.10.121
Чтобы выполнить сканирование UDP, вызовите команду с параметром ( -sU) от имени пользователя root:
sudo nmap -sU 192.168.10.121
Для получения полного списка методов сканирования портов посетите страницу документации Nmap.
Nmap также поддерживает адреса IPv6. Чтобы указать хост IPv6, используйте опцию -6 :
sudo nmap -6 fd12:3456:789a:1::1
Указание целевых хостов
Nmap рассматривает все аргументы, которые не являются опциями, как целевые хосты.
Аргументы считаются вариантами, если они начинаются с одинарного или двойного тире ( — , — ).
Самый простой вариант — передать один или несколько целевых адресов или доменных имен:
nmap 192.168.10.121 host.to.scan
Вы можете использовать нотацию CIDR, чтобы указать диапазон сети:
nmap 192.168.10.0/24
Чтобы указать диапазон октетов, используйте символ тире. Например, для сканирования 192.168.10.1, 192.168.11.1и 192.168.12.1:
nmap 192.168.10-12.1
Другой символ, который вы можете использовать для указания целей, — это запятая. Следующая команда нацелена на те же хосты, что и предыдущая:
nmap 192.168.10,11,12.1
Вы можете комбинировать все формы:
nmap 10.8-10.10,11,12.0/28 192.168.1-2.100,101
Чтобы убедиться, что вы указали правильные хосты перед сканированием, используйте параметр сканирования списка ( -sL ), который перечисляет только цели без запуска сканирования:
nmap -sL 10.8-10.10,11,12.0/28 192.168.1-2.100,101
Если вы хотите исключить цели, которые включены в указанный вами диапазон, используйте опцию —exclude :
nmap 10.8-10.10,11,12.0/28 —exclude 10.10.12.12
Указание и сканирование портов
По умолчанию Nmap выполняет быстрое сканирование 1000 самых популярных портов. Это не первые 1000 последовательных портов, а 1000 наиболее часто используемых портов в диапазоне от 1 до 65389.
Для поиска всех портов с 1 по 65535 используйте опцию -p :
nmap -p- 192.168.10.121
Каждый порт может находиться в одном из следующих состояний:
- open — программа, запущенная на порту, отвечает на запрос.
- closed — на порту не работает ни одна программа, и хост отвечает на запросы.
- filtered — хост не отвечает на запрос.
Порты и диапазоны портов указываются с помощью опции -p .
Например, чтобы просканировать только порт 443, вы должны использовать следующую команду:
nmap -p 443 192.168.10.121
Чтобы указать более одного порта, разделите целевые порты запятой:
nmap -p 80,443 192.168.10.121
Диапазоны портов можно указать с помощью символа тире. Например, чтобы просканировать все порты UDP в диапазоне от 1 до 1024, вы должны запустить:
sudo nmap -sU -p 1-1024 192.168.10.121
nmap -p 1-1024,8080,9000 192.168.10.121
Порты также можно указать с помощью имени порта. Например, для поиска порта 22, ssh, вы можете использовать:
nmap -p ssh 192.168.10.121
Ping сканирование
Чтобы выполнить ping-сканирование или обнаружение хоста, вызовите команду nmap с опцией -sn :
sudo nmap -sn 192.168.10.0/24
Эта опция указывает Nmap только на обнаружение сетевых хостов, а не на сканирование портов. Это полезно, когда вы хотите быстро определить, какой из указанных хостов запущен и работает.
Отключение разрешения DNS-имен
По умолчанию Nmap выполняет обратное разрешение DNS для каждого обнаруженного хоста, что увеличивает время сканирования.
При сканировании больших сетей рекомендуется отключить разрешение обратного DNS и ускорить сканирование. Для этого вызовите команду с опцией -n :
sudo nmap -n 192.168.10.0/16
Определение ОС, служб и версий
Nmap может обнаружить операционную систему удаленного хоста с помощью снятия отпечатков стека TCP/IP. Чтобы запустить обнаружение ОС, вызовите команду с опцией -O :
sudo nmap -O scanme.nmap.org
Если Nmap может обнаружить ОС хоста, он напечатает что-то вроде следующего:
. Device type: general purpose Running: Linux 5.X OS CPE: cpe:/o:linux:linux_kernel:5 OS details: Linux 5.0 — 5.4 Network Distance: 18 hops OS detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 26.47 seconds
Обычно системные службы прослушивают стандартные порты, которые хорошо известны и зарезервированы для них. Например, если порт 22, соответствующий службе SSH, открыт, вы предполагаете, что на хосте работает SSH-сервер. Однако вы не можете быть абсолютно уверены, потому что люди могут запускать службы на любых портах, которые им нужны.
Благодаря обнаружению службы и версии Nmap покажет вам, какая программа прослушивает порт и версию программы.
Для поиска службы и версии используйте опцию -sV :
sudo nmap -sV scanme.nmap.org
. PORT STATE SERVICE VERSION 19/tcp filtered chargen 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.7 ((Ubuntu)) 135/tcp filtered msrpc 139/tcp filtered netbios-ssn 445/tcp filtered microsoft-ds 9929/tcp open nping-echo Nping echo 31337/tcp open tcpwrapped Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel .
Вы также можете сканировать ОС, версии и запускать traceroute с помощью одной команды, используя параметр -A :
sudo nmap -A 192.168.10.121
Вывод Nmap
По умолчанию Nmap выводит информацию на стандартный вывод (stdout).
Если вы сканируете большую сеть или нуждаетесь в информации для дальнейшего использования, вы можете сохранить результат в файл.
Nmap предоставляет несколько типов вывода. Чтобы сохранить вывод в нормальном формате, используйте параметр, за которым следует имя файла -oN :
sudo nmap -sU -p 1-1024 192.168.10.121 -oN output.txt
Самый популярный вариант — сохранить вывод в формате XML. Для этого воспользуйтесь опцией -oX :
sudo nmap -sU -p 1-1024 192.168.10.121 -oX output.xml
Еще один полезный формат — вывод grepable, который можно анализировать с помощью стандартных инструментов Unix, таких как grep , awk и cut . Вывод grepable указывается с опцией -oG :
sudo nmap -sU -p 1-1024 192.168.10.121 -oG output
Механизм сценариев Nmap
Одна из самых мощных функций Nmap — это скриптовый движок. Nmap поставляется с сотнями скриптов , и вы также можете писать свои собственные скрипты на языке Lua.
Вы можете использовать скрипты для обнаружения вредоносных программ и бэкдоров, выполнения атак методом перебора и т.д.
Например, чтобы проверить, скомпрометирован ли данный хост, вы можете использовать:
nmap -sV —script http-malware-host scanme.nmap.org
Заключение
Nmap — это инструмент с открытым исходным кодом, который в основном используется администраторами сети для обнаружения узлов и сканирования портов.
Обратите внимание, что в некоторых странах сканирование сетей без разрешения является незаконным.
Если у вас есть вопросы или замечания, пожалуйста, оставьте комментарий ниже.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.
Источник: ip-calculator.ru
Команда Nmap в Linux: сканирование сетевых портов
Сетевой сканер Nmap известен благодаря фильму «Матрица»: он использовался для взлома сетей. Статья расскажет подробнее о приложении и кратко опишет, как им пользоваться. Все действия производятся на ОС Ubuntu 18.04.3.
Что за команда Nmap?
Nmap представляет собой инструмент, который сканирует порты на рабочих станциях и серверах. Полученная информация используется системными администраторами для того, чтобы определить уязвимые места в сетевой инфраструктуре, идентифицировать цепочку «программа – используемый порт», найти хосты, подключенные к общей сети, и т.д.
Приложение расширяется за счет использования собственного языка скриптов. В 95% случаев администраторы самостоятельно дорабатывают решение под свои задачи. Такой подход делает утилиту незаменимым помощником.
С другой стороны, Nmap используют и злоумышленники, чтобы найти места взлома информационной системы.
Установка и синтаксис Nmap
По умолчанию программа недоступна в дистрибутивах ОС семейства Linux. Установим ее из официального репозитория.
sudo apt-get install nmap
Инсталляция займет не более 4 минут. Запуск утилиты осуществляется командой nmap с дополнительными ключами. Если требуется ознакомиться с синтаксисом и возможностями, вводим наименование ПО в терминале и нажимаем Enter.
Справочник
Общий вид команды для сканирования выглядит следующим образом:
Nmap key target
Key – опция, с которой проводится сканирование. Утилита обладает множеством возможностей.
Target – конечная точка. Это может быть сайт, имя компьютера, IP-адрес и т.д.
Разработчики программы создали специальный веб-ресурс для тестирования возможностей Nmap. Его адрес: http://scanme.nmap.org
Для начала проверим работоспособность Nmap на сайте без опций.
nmap scanme.nmap.org
Получим следующие данные.
Сканирование сайта
Изображение выше показывает, что на ресурсе открыт порт 80 по протоколу TCP. Через него работает служба HTTP.
Поле State принимает четыре значения. Open означает, что порт открыт, а Closed – закрыт, т.е. ни одна программа не использует его. Третий вариант – Filtred, т.е. порт блокируется межсетвым экраном или фильтром. Последнее значение Unfiltered обозначает, что Nmap не определил, открыт ли порт или закрыт.
Опции
Расскажем про наиболее востребованные ключи, которые используются при работе с утилитой.
- sL. Находит все рабочие станции, подключенные к сети, не сканирует на наличие уязвимостей или другой информации. nmap -sL
- sP. Альтернатива команды ping: проверяет доступность узла. nmap –sP hostname Hostname – имя узла, IP-адрес или сайт. Пример использования ключа ниже.
Проверить доступность узла
3. -sS/sT/sA/sW/sM – любой из ключей запускает сканирование по протоколу TCP.
4. –sU использует протокол UDP для сканирования.
5. –O определяет операционную систему, которая установлена на конечной точке.
sudo nmap –O scanme.nmap.org
Важно! Ключ –O работает только с правами root.
6. Для сканирования определенных портов указывают ключ –p. Он задает диапазон, по которому работает nmap.
7. Также можно регулировать скорость работы утилиты. Для этого используется параметр –T. Он принимает значения от одного до пяти. Синтаксис выглядит следующим образом:
nmap –sL –T[2] scanme.nmap.org
8. Опция –sV детектирует имя службы, которая запущена на определенном порту. Если задать без уточнения, то nmap выдаст список всех найденных портов.
nmap –sV scanme.nmap.org
Результат показан ниже.
Определение имени служб
9. Использование функции –A активирует агрессивный режим сканирования. В этом случае nmap подключает встроенные скрипты для выполнения указанных функций совместно с ключом.
Важно! Использование данного режима в большинстве случаев воспринимается клиентской стороной как сетевая атака. Рекомендуется аккуратно использовать опцию –A.
10. Утилита может сменить физический адрес указанного сетевого адаптера. Для этого вводим ключ —spoof-mac, а после него прописываем новый адрес.
Как пользоваться Nmap?
Приведем небольшой пример, как работать с nmap. В качестве примера используем ресурс scanme.nmap.org.
Определение ОС и ПО
Для начала просканируем свободные порты, чтобы определить, для чего используется данный хост.
nmap –sT scanme.nmap.org
Найти открытый порт
У сайта открыта только служба HTTP, т.е. он используется как веб-сервер. Теперь определим, какую операционную систему он использует.
sudo nmap –sV -O scanme.nmap.org
Учитывая, что Ubuntu запущена под виртуальной машиной, программа определяет ОС как VirtualBox.
Определить операционную систему
Как понятно из картинки выше, на источнике закрыты порты, которые работают по протоколу FTP, HTTPS и HTTP-Proxy. На открытом порте установлено программное обеспечение Apache 2.4.7 под управлением операционной системой Ubuntu.
Важно! Информация о программном обеспечении собрал ключ –Sv.
Если же указать в качестве конечно точки localhost, то утилита покажет версию ядра ОС.
Детектирование ОС
Таким образом, собрать отчет по установленным операционным системам и программам внутри корпоративной сети можно воспользовавшись одной командой.
Проверить доступность
Если требуется произвести сбор информации по определенным адресам, то просто перечислим их через ключ –sP. Он определит какие доступны в сети, а какие – отключены. Например, администратору необходимо проверить доступность компьютеров с адресами 5-15. Задаем следующую команду:
nmap –sP 192.168.2.5-15
Аналогично в качестве фильтра устанавливают маску подсети, если она доступна.
nmap –sP 192.168.2.0/24
Графическая оболочка
Логично предположить, что со временем разработали графический интерфейс nmap для более комфортного использования. Оболочка называется Zenmap. Она доступна в официальных репозиториях Linux. Вводим в терминале команду:
sudo apt-get install zenmap
Важно! Запускаем оболочку только с правами администратора, т.к. часть опций nmap доступна только привилегированным пользователям.
Интерфейс простой и понятный.
Источник: dzen.ru