Установка Nmap на Debian 13, 12, 11: подробное руководство

Nmap (Network Mapper) — это стандартный инструмент для сканирования сетей, обнаружения хостов, открытых портов, версий служб и операционных систем. Он незаменим для аудита безопасности (проверка открытых портов), тестирования фаерволов, инвентаризации сети и даже для поиска устройств в локальной сети. Главные сложности для новичка: нужно понимать разницу между APT-версией (стабильна, но может быть старой) и сборкой из исходников (свежая, с новыми NSE-скриптами, но требует компиляции). Также некоторые типы сканирования (SYN-сканирование, определение ОС) требуют прав root.

💡 В этом руководстве вы установите Nmap на Debian двумя способами: через APT (рекомендованный) и сборкой из исходников (если нужна последняя версия). Вы также узнаете основы работы с Nmap, как интерпретировать результаты и решать типичные проблемы.

В этой статье вы узнаете:

  • Как установить Nmap через APT (рекомендовано)
  • Как собрать Nmap из исходников (актуальная версия)
  • Как создать скрипт для обновления source-сборки
  • Основные команды Nmap: сканирование портов, определение служб, ОС
  • Как интерпретировать состояния портов (open, closed, filtered)
  • Как решить типичные проблемы: permission denied, команда не найдена, ошибки зависимостей

Для кого: системные администраторы, специалисты по безопасности, разработчики, а также все, кто хочет изучить свою сеть на Debian 11, 12 или 13.

Оглавление

1. 🔧 Предварительные требования

Перед установкой убедитесь, что:

  • У вас установлена Debian 11, 12 или 13
  • Подключение к интернету стабильно
  • У вас есть права sudo

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo выполняет команду от имени суперпользователя, whoami показывает имя текущего пользователя.

Зачем: Эта команда проверяет, есть ли у вас права sudo. Без них вы не сможете устанавливать пакеты.

✅ Если выводит root — всё в порядке, можете продолжать.

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.

1.1 Обновление системы

Перед установкой всегда обновляйте список пакетов.

sudo apt update && sudo apt upgrade -y

Что делает:

  • sudo — права суперпользователя
  • apt update — обновляет список доступных пакетов из репозиториев
  • && — выполняет следующую команду только если предыдущая успешна
  • apt upgrade -y — обновляет все установленные пакеты до последних версий

Зачем: Это стандартная практика безопасности перед установкой нового ПО.

2. 📊 Сравнение способов установки Nmap

В Debian есть два основных способа установки Nmap. Вот их сравнение:

МетодОткудаВерсияОбновленияПлюсыМинусы
APT
рекомендовано
Репозитории
Debian
Debian 13: 7.95,
Debian 12: 7.93,
Debian 11: 7.80
Автоматически
через
apt upgrade
Простота,
безопасность,
минимум
усилий
Версия может
быть старой,
особенно на
Debian 11
Сборка из
исходников
Nmap.orgПоследняя
стабильная
Вручную
(скрипт)
Максимальная
свежесть,
новые
NSE-скрипты
Требует
установки
инструментов
сборки,
ручное
обновление

💡 Рекомендация: Для большинства пользователей подойдёт APT. Сборку из исходников выбирайте, если вам нужна самая свежая версия Nmap или новые NSE-скрипты, которых нет в репозитории.

3. 📦 Способ 1: Установка Nmap через APT (рекомендованный)

Этот способ подходит для большинства пользователей. Вы получаете стабильную версию, протестированную для вашего выпуска Debian.

3.1 Установка пакета

sudo apt install nmap -y

Что делает: Устанавливает Nmap из официальных репозиториев Debian.

3.2 Проверка версии

nmap --version

Ожидаемый вывод в терминале (Debian 13):

Nmap version 7.95 ( https://nmap.org )

Какие версии в разных Debian:

Версия DebianВерсия Nmap
Debian 13 (Trixie)7.95
Debian 12 (Bookworm)7.93
Debian 11 (Bullseye)7.80

4. 🔧 Способ 2: Сборка Nmap из исходников (актуальная версия)

Этот способ подходит, если вам нужна самая свежая версия Nmap (с новыми NSE-скриптами).

4.1 Установка инструментов сборки и зависимостей

sudo apt install build-essential libssh2-1-dev libssl-dev libpcre2-dev wget ca-certificates curl -y

Что делает: Устанавливает компилятор, утилиты и библиотеки для поддержки SSH, SSL, PCRE и других функций.

4.2 Определение последней версии и скачивание исходников

NMAP_VER=$(curl -s https://nmap.org/download.html | grep -oP 'nmap-\d+\.\d+\.tar\.bz2' | head -1 | grep -oP '\d+\.\d+')
wget "https://nmap.org/dist/nmap-${NMAP_VER}.tar.bz2"

Что делает: Запрашивает страницу загрузки Nmap.org, извлекает номер последней версии и скачивает архив.

4.3 Распаковка и конфигурация

tar -xjf nmap-*.tar.bz2
cd nmap-*/
./configure --with-localdirs

Что делает: Распаковывает архив, переходит в директорию с исходниками и настраивает сборку.

4.4 Компиляция и установка

make -j$(nproc)
sudo make install

Что делает: Компилирует Nmap (используя все ядра) и устанавливает в систему.

4.5 Проверка установки

nmap --version

Ожидаемый вывод: Более новая версия, чем в APT (например, 7.98).

4.6 Создание скрипта для обновления source-сборки

sudo tee /usr/local/bin/update-nmap > /dev/null << 'EOF'
#!/bin/bash
set -e

for cmd in curl wget tar make; do
    if ! command -v $cmd &>/dev/null; then
        echo "Ошибка: $cmd не установлен."
        exit 1
    fi
done

CURRENT_VER=$(nmap --version 2>/dev/null | grep -oP 'Nmap version \K[\d.]+' || echo "0")
LATEST_VER=$(curl -s https://nmap.org/download.html | grep -oP 'nmap-\d+\.\d+\.tar\.bz2' | head -1 | grep -oP '\d+\.\d+')

if [ -z "$LATEST_VER" ]; then
    echo "Ошибка: не удалось определить последнюю версию."
    exit 1
fi

echo "Текущая версия: $CURRENT_VER"
echo "Последняя версия: $LATEST_VER"

if [ "$CURRENT_VER" = "$LATEST_VER" ]; then
    echo "Nmap уже последней версии."
    exit 0
fi

echo "Обновление с $CURRENT_VER до $LATEST_VER..."
BUILD_DIR=$(mktemp -d)
cd "$BUILD_DIR"
wget -q "https://nmap.org/dist/nmap-${LATEST_VER}.tar.bz2"
tar -xjf nmap-*.tar.bz2
cd nmap-*/
./configure --with-localdirs >/dev/null
make -j$(nproc) >/dev/null
sudo make install >/dev/null
NEW_VER=$(nmap --version | grep -oP 'Nmap version \K[\d.]+')
echo "Успешно обновлён до Nmap $NEW_VER"
rm -rf "$BUILD_DIR"
EOF

sudo chmod +x /usr/local/bin/update-nmap

Запуск обновления:

sudo update-nmap

5. 📡 Основные команды Nmap

5.1 Сканирование одного хоста

nmap 192.168.1.1

5.2 Сканирование диапазона портов

nmap -p 80,443,8080 192.168.1.1
nmap -p 1-1000 192.168.1.1

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

nmap -sV 192.168.1.1

5.4 Определение операционной системы (требует sudo)

sudo nmap -O 192.168.1.1

5.5 SYN-сканирование (быстрое, требует sudo)

sudo nmap -sS 192.168.1.1

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

nmap 192.168.1.0/24

6. 📖 Понимание состояний портов

СостояниеЗначение
openПорт открыт, приложение принимает
соединения
closedПорт доступен, но ничего не слушает
filteredПорт отфильтрован фаерволом
(Nmap не получил ответ)
unfilteredПорт доступен, но Nmap не может определить,
открыт он или закрыт

7. ⚠️ Решение типичных проблем

7.1 Ошибка: nmap: command not found

Симптом: Команда nmap не найдена.

Причина: Nmap не установлен.

Решение: Установите через APT (раздел 3) или соберите из исходников.

7.2 Ошибка: Permission denied при использовании -O или -sS

Симптом: nmap -O 192.168.1.1 выдаёт Operation not permitted.

Причина: SYN-сканирование и определение ОС требуют raw-сокетов.

Решение: Используйте sudo:

sudo nmap -O 192.168.1.1

7.3 Ошибка компиляции: missing libssl-dev

Симптом: ./configure выдаёт ошибку о недостающей библиотеке OpenSSL.

Решение:

sudo apt install libssl-dev -y
./configure

8. ❌ Удаление Nmap

Удаление APT-версии

sudo apt remove --purge nmap -y
sudo apt autoremove -y

Удаление source-сборки

cd ~/nmap-*/
sudo make uninstall
rm -rf ~/nmap-*
sudo rm -f /usr/local/bin/update-nmap

Проверка удаления

command -v nmap

Ожидаемый вывод: Пустая строка.

9. 📝 Чек-лист: всё готово к работе

  • [ ] Система обновлена (sudo apt update && sudo apt upgrade -y)
  • [ ] Выбран и выполнен один из способов установки (APT / Source)
  • [ ] nmap --version показывает ожидаемую версию
  • [ ] nmap localhost выполняется без ошибок
  • [ ] sudo nmap -O localhost работает (определяет ОС)
  • [ ] (Для source-сборки) Скрипт обновления работает (sudo update-nmap)

Заключение

Вы установили Nmap на Debian. Если вы выбрали APT — получили стабильную, проверенную версию, которая будет обновляться вместе с системой. Если собрали из исходников — получили самую свежую версию с новыми NSE-скриптами, которую можно обновлять скриптом из раздела 4.6. Nmap — это мощный инструмент для исследования сетей, аудита безопасности и диагностики. Главное, что нужно запомнить: для SYN-сканирования и определения ОС требуются права root.

Что дальше:

  • Изучите официальную документацию Nmap
  • Попробуйте NSE-скрипты: nmap --script vuln 192.168.1.1 (сканирование уязвимостей)
  • Используйте Nmap для проверки своего фаервола
  • Совместите с Wireshark для анализа трафика и с Chkrootkit для проверки безопасности