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!