nmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети. Изначально программа была реализована для систем UNIX, но сейчас доступны версии для множества операционных систем.
Nmap использует множество различных методов сканирования, таких как UDP, TCP, TCP SYN, FTP-proxy, Reverse-ident, ICMP, FIN, ACK, Xmas tree, SYN- и NULL-сканирование. Nmap также поддерживает большой набор дополнительных возможностей, а именно: определение операционной системы удалённого хоста с использованием отпечатков стека TCP/IP, «невидимое» сканирование, динамическое вычисление времени задержки и повтор передачи пакетов, параллельное сканирование, определение неактивных хостов методом параллельного ping-опроса, сканирование с использованием ложных хостов, определение наличия пакетных фильтров, прямое RPC-сканирование, сканирование с использованием IP-фрагментации, а также произвольное указание IP-адресов и номеров портов сканируемых сетей.
В последних версиях добавлена возможность написания произвольных сценариев на языке программирования Lua.
Существуют графические интерфейсы, упрощающие выполнение задач сканирования:
- Nmap Front End (Qt)
- zenmap (GTK)
Список изменений в версии 6.45:
- [NSE] Добавлен скрипт для обнаружения уязвимости Heartbleed в OpenSSL CVE-2014-0160.
- [NSE] Исправлена ошибка в socks-open-proxy.
- [NSE] Улучшен скрипт ntp-info.
- [NSE] Добавлен скрипт quake1-info для получения информации об игроках и серверах игры Quake 1.
- [NSE] Добавлены библиотеки UTF-8, UTF-16 и CP437.
- [Ncat] Добавлена поддержка socks5.
- [NSE] Добавлен скрипт http-ntlm-info для получения информации о веб-серверах с аутентификацией NTLM.
- Добавлена поддержка TCP в dns.lua.
- Добавлены операции fd_set.
- [NSE] Добавлена библиотека tls для функций, связанных с SSLv3. Скрипты ssl-enum-ciphers, ssl-date и tls-nextprotoneg добавлены в эту библиотеку.
- [NSE] Добавлен скрипт sstp-discover для обнаружения «Microsoft's Secure Socket Tunnelling Protocol».
- [NSE]Добавлена библиотека unittest.
- Обновлён liblua c версии 5.2.2 до 5.2.3.
- Добавлено обнаружение версий для устройств Android, включая AndroMouse, AirHID, Wifi-mouse и RemoteMouse.
- [NSE] Добавлен скрипт allseeingeye-info для получения информации об играх, которые используют этот протокол.
- [NSE] Добавлен скрипт freelancer-info для получения информации об игровых серверах Freelancer.
- [Ncat] Исправлена ошибка, которая проявлялась при включенной опции скрипта сборки
--without-liblua
. - [NSE] Добавлен скрипт http-server-header.
- [NSE] Добавлен скрипт rfc868-time для получения даты и времени от сервера «RFC 868 Time Server».
- [NSE] Добавлен скрипт weblogic-t3-info для работы с протоколом T3 RMI, который используется Oracle/BEA Weblogic.
- Исправлена ошибка в libdnet.
- Исправлена ошибка в вычислении UDP checksum.
- [NSE] Добавлен скрипт http-iis-short-name-brute для обнаружения уязвимостей в серверах Microsoft IIS.
- Idle scan теперь поддерживает IPv6.
- [NSE] Добавлен скрипт http-dlink-backdoor для обнаружения уязвимых роутеров DLink.
- [NSE] Улучшения во многопоточности telnet-brute.
- [NSE] Улучшения в ssh1.fetch_host_key.
- [NSE] Обновлён скрипт dns-cache-snoop.
- [NSE] Добавлен скрипт the qconn-exec.
- [Zenmap] Исправлена критическая ошибка.
- [Ncat] Добавлены переменные среды
NCAT_PROTO
,NCAT_REMOTE_ADDR
,NCAT_REMOTE_PORT
,NCAT_LOCAL_ADDR
иNCAT_LOCAL_PORT
.