nmap
nmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети (портов и соответствующих им служб). Изначально программа была реализована для систем UNIX, но сейчас доступны версии для множества операционных систем.
Nmap | |
---|---|
| |
Тип | Сканер портов |
Разработчик | Gordon Lyon[d] |
Написана на | C++, Python, Си, Lua[1] и Java |
Операционная система | Linux, BSD[2], Microsoft Windows[2] и macOS[2] |
Первый выпуск | 1 сентября 1997[3] |
Последняя версия | |
Сайт | nmap.org (англ.) |
Медиафайлы на Викискладе |
Nmap использует множество различных методов сканирования, таких как UDP, TCP (connect), TCP SYN (полуоткрытое), FTP-proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, Xmas tree, SYN- и NULL-сканирование. Nmap также поддерживает большой набор дополнительных возможностей, а именно: определение операционной системы удалённого хоста с использованием отпечатков стека TCP/IP, «невидимое» сканирование, динамическое вычисление времени задержки и повтор передачи пакетов, параллельное сканирование, определение неактивных хостов методом параллельного ping-опроса, сканирование с использованием ложных хостов, определение наличия пакетных фильтров, прямое (без использования portmapper) RPC-сканирование, сканирование с использованием IP-фрагментации, быстрый поиск уязвимостей SQL Injection[5], а также произвольное указание IP-адресов и номеров портов сканируемых сетей.
В последних версиях добавлена возможность написания произвольных сценариев (скриптов) на языке программирования Lua — Nmap Scripting Engine (NSE).
Существуют графические интерфейсы, упрощающие выполнение задач сканирования:
Определение цели сканирования
В командной строке утилиты «Nmap» все, что не является опцией (или аргументом опции), рассматривается как цель сканирования. В простейшем случае для сканирования используется IP адрес или сетевое имя целевой машины[6].
Сканирование целевой сети[6]
Иногда необходимо просканировать целую сеть. Для этого Nmap поддерживает CIDR адресацию. Вы можете добавить /<кол-во бит>
к IP адресу или сетевому имени и утилита «Nmap» просканирует каждый IP адрес, для которого первые <кол-во бит>
такие же как и у заданного хоста.
Например, 192.168.10.0/24 просканирует 256 хостов между 192.168.10.0 (бинарное: 11000000 10101000 00001010 00000000
) и 192.168.10.255 (бинарное: 11000000 10101000 00001010 11111111
) включительно. 192.168.10.40/24 сделает абсолютно то же самое.
Зная, что IP адрес scanme.nmap.org 64.13.134.52, при записи типа scanme.nmap.org/16 будет произведено сканирование 65,536 IP адресов между 64.13.0.0 и 64.13.255.255.
Наименьшее допустимое значение /0, при котором будет просканирован весь Интернет.
Наибольшее значение /32, при котором будет просканирован только заданный хост или IP адрес, так как все адресные биты заблокированы.
Примеры использования утилиты
Самая простая команда для использования утилиты — запуск сканирования определенного IP адреса:
nmap 127.0.0.1
Следующей командой будут просканированы все TCP порты машины scanme.nmap.org
. Опция -v
активирует вербальный режим[7]:
nmap -v scanme.nmap.org
Следующей командой будет произведено скрытное SYN сканирование всех 255 машин сети «класса C», в которой расположена машина Scanme. Также будет произведена попытка определения операционной системы на каждом работающем хосте. Из-за SYN сканирования и опции определения ОС данная команда требует привилегий суперпользователя (root)[7]:
nmap -sS -O scanme.nmap.org/24
Следующей командой будет запущен перебор хостов и TCP сканирование первой половины всех (из доступных 255) 8 битных подсетей адресного пространства 198.116 класса B. Также утилита с помощью команды проверяет запущены ли SSH, DNS, POP3 или IMAP с использованием их стандартных портов, а также использует ли какое-нибудь приложение порт 4564. Если какой-нибудь из этих портов открыт, то утилитой будет произведена попытка определения работающего с этим портом приложения[7]:
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
Проникновение в культуру
Утилита nmap появляется на экране в фильмах:
|
|
См. также
Примечания
- The nmap Open Source Project on Open Hub: Languages Page — 2006.
- Free Software Directory
- http://phrack.org/issues/51/11.html#article
- Lyon G., Lyon G. F. Nmap 7.92 Defcon Release! (англ.) — 2021.
- Николай Дубков. Поиск SQL Injection с помощью Nmap (5 августа 2016).
- Определение цели сканирования | . nmap.org. Дата обращения: 19 февраля 2019.
- Примеры | . nmap.org. Дата обращения: 18 февраля 2019.
- Movies featuring the Nmap Security Scanner (англ.)