Как стать автором
Обновить

Nmap — руководство для начинающих

Уровень сложностиПростой

Nmap — мощный инструмент для исследования и обеспечения безопасности сетей. Он популярен среди системных администраторов и специалистов по информационной безопасности. Даже в культовом фильме "Матрица" этот инструмент использовался для взлома.

Что такое Nmap?

Nmap (Network Mapper) можно перевести как "сетевой картограф". Это мощное средство для анализа сетей и проверки их безопасности. Nmap работает на различных операционных системах, включая Linux, Windows, FreeBSD, OpenBSD, Solaris и Mac OS X, и распространяется бесплатно.

Установка Nmap на Debian

В стандартной поставке Debian Nmap отсутствует, но его можно легко установить с помощью следующей команды:

aptitude install nmap

Установка Nmap на Ubuntu

sudo apt install nmap

Методы сканирования

Nmap поддерживает множество методов сканирования: UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy, Reverse-ident, ICMP (ping), FIN, ACK, SYN и NULL-сканирование. Метод выбирается с помощью ключей. Пример запуска команды:

nmap <ключи> <цель>

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

Для демонстрации используем тестовый хост, предоставленный разработчиками Nmap — scanme.nmap.org. Запустим сканирование от имени суперпользователя:

nmap scanme.nmap.org

Через несколько секунд получаем результат:

Interesting ports on scanme.nmap.org (74.207.244.221):
Not shown: 998 closed ports
PORT    STATE  SERVICE
22/tcp  open   ssh
80/tcp  open   http

На стандартных портах открыты SSH и HTTP. Nmap различает несколько состояний портов: open (открыт), filtered (фильтруется), closed (закрыт) и unfiltered (нефильтруется).

Определение операционной системы

Для определения операционной системы используем ключ -O:

nmap -O scanme.nmap.org

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

Device type: general purpose|WAP|webcam|storage-misc
Running (JUST GUESSING) : Linux 2.6.X|2.4.X (93%), AXIS Linux 2.6.X (89%), Linksys Linux 2.4.X (89%)
Aggressive OS guesses: Linux 2.6.17 - 2.6.28 (93%), Linux 2.6.9 - 2.6.27 (93%), ...

Хотя точную версию ядра определить невозможно, Nmap может дать представление о системе.

Сканирование нескольких хостов

Для сканирования нескольких хостов их просто перечисляют через пробел:

nmap -O example.com example2.com

Определение версий служб

Чтобы узнать детали о запущенных службах, используем ключ -sV:

nmap -sV example.com example2.com

Пример ответа:

PORT    STATE  SERVICE VERSION
22/tcp  open   ssh     OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
80/tcp  open   http    Apache httpd 2.2.14 ((Ubuntu))
Service Info: OS: Linux

Мы узнали точные названия и версии служб, а также операционную систему.

Агрессивное сканирование

Для агрессивного сканирования используем ключ -A:

# nmap -A scanme.nmap.org

Этот режим выводит много информации и может занять несколько минут.

Проверка диапазона IP-адресов

Для проверки диапазона IP-адресов используем ключ -sP:

nmap -sP 192.168.1.0/24

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

nmap -sP 192.168.1.2-5

Ответ будет таким:

Host 192.168.1.2 is up (0.0023s latency)
Host 192.168.1.3 is up (0.0015s latency)
Host 192.168.1.4 is up (0.0018s latency)
Host 192.168.1.5 is up (0.0026s latency)

Заключение

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

Если вам интересны подобные темы и вы хотите получать больше полезной информации, подписывайтесь на мой Telegram-канал IT-Chanel для свежих новостей, гайдов и статей из мира IT!

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