Изучите сканирование и анализ вывода Nmap

CybersecurityCybersecurityBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь использовать Nmap, мощный инструмент для сканирования сетей, широко применяемый профессионалами в области безопасности для обнаружения хостов и служб в компьютерной сети. Вы изучите различные форматы вывода, предоставляемые Nmap, которые являются важными для интерпретации результатов сканирования и проведения дальнейшего анализа.

Nmap (сокращение от Network Mapper) — это бесплатная и открытая утилита для обнаружения сетей и аудита безопасности. Она использует необработанные IP - пакеты для сбора информации о сетевых хостах, таких как доступные службы и операционные системы. В этом практическом занятии (лабораторной работе) вы научитесь настраивать тестовую службу и сканировать ее с использованием различных параметров вывода Nmap, что является важным для эффективного анализа и документирования сетей.

Настройка тестовой среды для сканирования с использованием Nmap

На этом этапе мы создадим простую среду, в которой вы сможете практиковаться в сканировании с помощью Nmap. Nmap — это мощный инструмент для исследования сетей и аудита безопасности. Создав простой веб - сервер на вашем локальном компьютере и сканировав его с использованием Nmap, вы сможете изучить сетевые сканирования в безопасной и контролируемой среде. Таким образом, вы можете проводить эксперименты, не влияя на реальные сети.

Настройка локального веб - сервера

Сначала нам нужно настроить простой веб - сервер, который мы сможем сканировать с помощью Nmap. Python предоставляет простой способ создания базового HTTP - сервера. HTTP - сервер — это программное обеспечение, которое может предоставлять веб - страницы клиентам, таким как браузеры.

  1. Откройте терминал и перейдите в каталог проекта:

    cd /home/labex/project

    Команда cd означает "change directory" (изменить каталог). Она позволяет перемещаться по файловой системе. В данном случае мы переходим в каталог /home/labex/project, где настроим наш веб - сервер.

  2. Создайте простой HTML - файл для предоставления:

    echo "Welcome to Nmap Testing Environment" > index.html

    Команда echo выводит текст в терминал. Символ > перенаправляет этот вывод в файл. Таким образом, мы создаем файл с именем index.html с текстом "Welcome to Nmap Testing Environment". Это будет веб - страница, которую наш сервер предоставит.

  3. Запустите Python HTTP - сервер на порту 8080:

    python3 -m http.server 8080 &

    Команда python3 -m http.server запускает простой HTTP - сервер с использованием Python. Число 8080 указывает номер порта, на котором сервер будет прослушивать входящие соединения. Порт — это, по сути, дверь, через которую сетевой трафик входит или выходит из компьютера. Символ & в конце команды запускает сервер в фоновом режиме, позволяя вам продолжать использовать терминал для других команд.

  4. Проверьте, что ваш веб - сервер работает, обратившись к нему:

    curl http://localhost:8080

    Команда curl используется для передачи данных от сервера или к серверу. Здесь мы пытаемся обратиться к веб - серверу, который мы только что настроили по адресу http://localhost:8080. localhost обозначает текущий компьютер.

    Вы должны увидеть следующий вывод:

    Welcome to Nmap Testing Environment

    Если вы видите такой вывод, это означает, что ваш веб - сервер работает корректно.

Базовое сканирование с использованием Nmap

Теперь, когда у вас запущен веб - сервер, вы можете сканировать его с помощью Nmap. Сканирование сервера помогает определить, какие порты открыты и какие службы могут работать на них.

  1. Запустите базовое сканирование с использованием Nmap на вашем локальном веб - сервере:

    nmap -p 8080 localhost

    Опция -p в команде nmap указывает порт для сканирования. В данном случае мы сообщаем Nmap сканировать только порт 8080 на localhost (что соответствует IP - адресу 127.0.0.1).

    Вы должны увидеть вывод, похожий на следующий:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-11-08 12:34 UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000097s latency).
    
    PORT     STATE SERVICE
    8080/tcp open  http-proxy
    
    Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

    Этот вывод представлен в формате по умолчанию Nmap, который удобен для чтения человеком и отображает основную информацию о сканировании.

Понимание вывода Nmap по умолчанию

Попробуем понять, что показывает вывод по умолчанию:

  • Starting Nmap: Эта строка показывает версию Nmap, которую вы используете, и время, когда сканирование было запущено. Это помогает отслеживать, когда было начато сканирование.
  • Nmap scan report: Это указывает цель сканирования. В нашем случае цель — localhost.
  • Host is up: Это подтверждает, что цель находится в сети. Время задержки показывает, сколько времени потребовалось Nmap для получения ответа от цели.
  • PORT: Это показывает номер порта, который был просканирован. В нашем сканировании мы просканировали порт 8080.
  • STATE: Это указывает, является ли порт открытым, закрытым или отфильтрованным. Открытый порт означает, что на этом порту работает служба и принимает соединения.
  • SERVICE: Nmap пытается угадать, какая служба может работать на этом порту. Здесь он угадал http - proxy.
  • Nmap done: Это сводка по сканированию. Она сообщает, сколько IP - адресов было просканировано и сколько времени заняло сканирование.

Теперь вы успешно настроили тестовую среду и выполнили базовое сканирование с использованием Nmap. На следующем этапе вы изучите различные форматы вывода, которые предлагает Nmap.

Исследование различных форматов вывода Nmap

На этом этапе мы узнаем о различных форматах вывода, которые предоставляет Nmap. Форматы вывода являются важными в области кибербезопасности, так как они позволяют представлять результаты сканирования различными способами в зависимости от наших потребностей. Например, некоторые форматы легко читаются человеком, а другие предназначены для обработки машинами, что полезно при интеграции с другими инструментами.

Обзор форматов вывода Nmap

Nmap поддерживает несколько форматов вывода, каждый из которых имеет свои уникальные характеристики и области применения:

  1. Обычный вывод (по умолчанию): Это человекочитаемый формат. Он представляет результаты сканирования так, чтобы их было легко понять сразу, что делает его идеальным для быстрого ручного анализа.
  2. XML - вывод (-oX): XML расшифровывается как Extensible Markup Language (расширяемый язык разметки). Это структурированный формат, то есть данные организованы иерархически. Это делает его легким для обработки программами и скриптами и часто используется при интеграции Nmap с другими инструментами безопасности.
  3. Grep - совместимый вывод (-oG): Это строковый формат. Он предназначен для простой обработки с использованием Unix - инструментов, таких как grep, awk и cut. Этот формат полезен, когда вы хотите быстро извлечь определенную информацию из результатов сканирования.
  4. Output для новичков - скриптеров (-oS): Этот формат похож на обычный вывод, но включает ASCII - арты. Однако он редко используется в практических сценариях.
  5. Все форматы (-oA): Эта опция позволяет сохранить результаты сканирования одновременно в обычном, XML и grep - совместимом форматах. Это удобный способ иметь все виды выводов сразу.

Попробуем изучить эти форматы, сканируя снова ваш локальный веб - сервер.

Формат XML - вывода

XML, или Extensible Markup Language (расширяемый язык разметки), представляет собой структурированный формат, который широко используется для хранения и обмена данными. Его иерархическая структура позволяет программам легко обрабатывать данные, поэтому он часто применяется при интеграции с другими инструментами безопасности.

  1. Запустите сканирование с использованием Nmap и сохраните вывод в формате XML:

    nmap -p 8080 localhost -oX /home/labex/project/scan_results.xml

    В этой команде -p 8080 указывает, что мы сканируем порт 8080, localhost - это цель сканирования (наш локальный компьютер), а -oX сообщает Nmap сохранить вывод в формате XML по указанному пути к файлу.

  2. Просмотрите XML - вывод:

    cat /home/labex/project/scan_results.xml

    Команда cat используется для отображения содержимого файла. При выполнении этой команды вы увидите вывод в формате XML, который будет выглядеть приблизительно так (сокращено):

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE nmaprun>
    <nmaprun scanner="nmap" args="nmap -p 8080 localhost -oX /home/labex/project/scan_results.xml" ...>
      <scaninfo type="connect" protocol="tcp" .../>
      <verbose level="0"/>
      <debugging level="0"/>
      <host>
        <status state="up" reason="conn - refused" reason_ttl="0"/>
        <address addr="127.0.0.1" addrtype="ipv4"/>
        <hostnames>
          <hostname name="localhost" type="user"/>
          <hostname name="localhost" type="PTR"/>
        </hostnames>
        <ports>
          <port protocol="tcp" portid="8080">
            <state state="open" reason="syn - ack" reason_ttl="0"/>
            <service name="http - proxy" method="table" conf="3"/>
          </port>
        </ports>
        <times srtt="97" rttvar="5000" to="100000"/>
      </host>
      <runstats>...</runstats>
    </nmaprun>
  3. Формат XML содержит подробную информацию, организованную иерархически. Попробуем извлечь информацию о конкретном порте:

    grep -A5 "<port " /home/labex/project/scan_results.xml > /home/labex/project/port_details.txt

    Команда grep используется для поиска определенного шаблона в файле. -A5 означает отображать 5 строк после строки, которая соответствует шаблону. Мы ищем строки, содержащие <port в XML - файле, и сохраняем результаты в новый файл с именем port_details.txt.

  4. Просмотрите извлеченные детали о порте:

    cat /home/labex/project/port_details.txt

    Выполнение этой команды покажет вам раздел с информацией о порте из XML - файла.

Grep - совместимый формат вывода

Grep - совместимый вывод специально разработан для простой обработки с использованием таких инструментов, как grep, awk и cut. Эти Unix - инструменты очень мощные для обработки текста и могут помочь нам быстро извлечь нужную информацию из результатов сканирования.

  1. Запустите сканирование с использованием Nmap и сохраните вывод в grep - совместимом формате:

    nmap -p 8080 localhost -oG /home/labex/project/scan_results.grep

    Здесь -oG сообщает Nmap сохранить вывод в grep - совместимом формате в указанный файл.

  2. Просмотрите grep - совместимый вывод:

    cat /home/labex/project/scan_results.grep

    Вывод будет похож на следующий:

    ## Nmap 7.80 scan initiated Wed Nov 8 12:40:00 2023 as: nmap -p 8080 localhost -oG /home/labex/project/scan_results.grep
    Host: 127.0.0.1 (localhost)   Status: Up
    Host: 127.0.0.1 (localhost)   Ports: 8080/open/tcp//http - proxy///
    ## Nmap done at Wed Nov 8 12:40:00 2023 -- 1 IP address (1 host up) scanned in 0.05 seconds
  3. Grep - совместимый формат помещает всю информацию о хосте в одну строку, что делает его удобным для использования с инструментами обработки текста. Например, вы можете извлечь только строку, содержащую информацию о портах:

    grep "Ports:" /home/labex/project/scan_results.grep > /home/labex/project/ports_info.txt

    Эта команда ищет строки, содержащие слово "Ports:", в файле с grep - совместимым выводом и сохраняет совпадающую строку в новый файл с именем ports_info.txt.

  4. Просмотрите извлеченную информацию о портах:

    cat /home/labex/project/ports_info.txt

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

Nmap предоставляет удобную опцию сохранения вывода сразу в нескольких форматах с использованием опции -oA. Это может сэкономить ваше время, если вам нужны разные типы выводов для разных целей.

  1. Запустите сканирование с использованием Nmap и сохраните вывод во всех форматах:

    nmap -p 8080 localhost -oA /home/labex/project/all_formats

    Эта команда сканирует порт 8080 на локальном компьютере и сохраняет результаты в обычном, XML и grep - совместимом форматах.

  2. Проверьте созданные файлы:

    ls -la /home/labex/project/all_formats.*

    Команда ls -la выводит список всех файлов в каталоге с подробной информацией. При выполнении этой команды вы должны увидеть три файла:

    • all_formats.nmap (обычный вывод)
    • all_formats.xml (XML - вывод)
    • all_formats.gnmap (grep - совместимый вывод)

Теперь вы понимаете различные форматы вывода, которые предоставляет Nmap, и как их использовать. Каждый формат имеет свои преимущества:

  • Обычный вывод легко читается человеком.
  • XML - вывод структурирован для обработки машинами и интеграции с другими инструментами.
  • Grep - совместимый вывод предназначен для быстрого анализа с использованием Unix - инструментов обработки текста.

На следующем этапе вы узнаете, как более детально анализировать эти выводы.

Анализ вывода Nmap и извлечение полезной информации

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

Анализ XML - вывода

XML - вывод очень полезен для детального анализа и может быть легко интегрирован с другими инструментами. XML представляет собой структурированный формат, который организовывает данные иерархически, что упрощает поиск и извлечение определенной информации. Давайте рассмотрим, как извлекать определенную информацию из XML - вывода.

  1. Сначала посмотрим на структуру XML - вывода, чтобы понять, какая информация доступна. Мы будем использовать команду grep для поиска начала раздела о хосте в XML - файле. Команда grep ищет заданный шаблон в файле.

    grep "<host" -A2 /home/labex/project/scan_results.xml

    Эта команда ищет тег <host> в файле scan_results.xml и показывает следующие две строки после совпадения. Это помогает нам увидеть начало раздела о хосте в XML - файле.

  2. Теперь извлечем информацию о состоянии порта. Мы снова используем grep для поиска всех строк, содержащих тег <state, и сохраним результаты в новый файл.

    grep "<state " /home/labex/project/scan_results.xml > /home/labex/project/port_state.txt
  3. Просмотрим извлеченное состояние порта. Мы будем использовать команду cat, которая используется для отображения содержимого файла.

    cat /home/labex/project/port_state.txt

    Вы должны увидеть что - то вроде этого:

    <state state="open" reason="syn-ack" reason_ttl="0"/>

    Это говорит нам, что порт открыт. Nmap определил это, так как получил пакет SYN - ACK в ответ на свой пакет SYN. Это часть трехфазного рукопожатия TCP, с помощью которого устанавливается соединение TCP между двумя устройствами в сети.

Использование регулярных выражений для более сложного извлечения данных

Для более сложного извлечения данных вы можете использовать регулярные выражения с инструментами, такими как grep, sed или awk. Регулярные выражения - это мощный способ поиска и сопоставления шаблонов в тексте. Они позволяют вам определить сложные критерии поиска.

  1. Давайте извлечем как номер порта, так и его состояние. Мы будем использовать grep с регулярным выражением для поиска соответствующей информации в XML - файле и сохраним ее в новый файл.

    grep -o 'portid="[0-9]*".*state="[^"]*"' /home/labex/project/scan_results.xml > /home/labex/project/port_and_state.txt
  2. Просмотрим извлеченную информацию с помощью команды cat.

    cat /home/labex/project/port_and_state.txt

    Вы должны увидеть вывод, похожий на следующий:

    portid="8080" state="open"

Анализ grep - совместимого вывода

Grep - совместимый формат вывода разработан для простой обработки с использованием стандартных Unix - инструментов. Это текстовый формат, который позволяет легко искать определенную информацию с помощью команд, таких как grep.

  1. Давайте извлечем только открытые порты из grep - совместимого вывода. Мы будем использовать grep для поиска всех строк, содержащих слово "open", и сохраним результаты в новый файл.

    grep "open" /home/labex/project/scan_results.grep > /home/labex/project/open_ports.txt
  2. Просмотрим извлеченную информацию с помощью команды cat.

    cat /home/labex/project/open_ports.txt

    Это должно показать вам строку, содержащую все открытые порты.

  3. Вы можете дополнительно обработать это, чтобы извлечь только номера портов. Мы будем использовать комбинацию команд grep и cut. Команда cut используется для извлечения определенных частей строки на основе разделителя.

    grep "open" /home/labex/project/scan_results.grep | grep -o "8080/open" | cut -d "/" -f1 > /home/labex/project/port_numbers.txt
  4. Просмотрим извлеченные номера портов с помощью команды cat.

    cat /home/labex/project/port_numbers.txt

    Вы должны увидеть:

    8080

Создание простого сводного отчета

Теперь давайте создадим простой сводный отчет, который объединяет информацию из разных частей сканирования. Сводный отчет помогает вам быстро понять основные результаты сканирования.

  1. Создадим сводный отчет. Мы будем использовать команду echo для записи текста в файл. Оператор >> добавляет текст в конец файла.

    echo "Nmap Scan Summary" > /home/labex/project/scan_summary.txt
    echo "----------------" >> /home/labex/project/scan_summary.txt
    echo "Target: localhost (127.0.0.1)" >> /home/labex/project/scan_summary.txt
    echo "Open ports:" >> /home/labex/project/scan_summary.txt
    grep "open" /home/labex/project/scan_results.grep | grep -o "[0-9]*/open/tcp//[^/]*" >> /home/labex/project/scan_summary.txt
  2. Просмотрим сводный отчет с помощью команды cat.

    cat /home/labex/project/scan_summary.txt

    Вывод должен выглядеть так:

    Nmap Scan Summary
    ----------------
    Target: localhost (127.0.0.1)
    Open ports:
    8080/open/tcp//http - proxy

Изучение способов извлечения и анализа определенной информации из результатов сканирования Nmap позволяет вам эффективно обрабатывать и интерпретировать данные сетевого разведки. Этот навык особенно ценен при сканировании больших сетей с большим количеством хостов и служб.

На следующем этапе вы узнаете о более продвинутых техниках сканирования с использованием Nmap.

Продвинутые техники сканирования с использованием Nmap

На этом этапе мы рассмотрим более продвинутые техники сканирования с использованием Nmap. Эти техники важны, так как они могут предоставить дополнительную и детальную информацию о сетевых службах. В частности, мы сосредоточимся на обнаружении версии служб и сканировании с использованием скриптов. Понимание этих техник поможет вам получить более глубокое понимание сетевых служб, которые вы сканируете, что необходимо для оценки безопасности, инвентаризации сети и устранения неполадок.

Обнаружение версии служб

Nmap имеет мощную функцию, которая позволяет пытаться определить конкретную версию службы, работающей на порту. Это делается с использованием опции -sV. Знание версии службы может быть очень полезным, так как разные версии могут иметь разные уязвимости безопасности или функции.

  1. Запустите сканирование с использованием Nmap с обнаружением версии служб:

    nmap -p 8080 -sV localhost -oN /home/labex/project/version_scan.txt

    В этой команде опция -sV сообщает Nmap проверить открытые порты. Таким образом, Nmap может собрать информацию о службах, работающих на этих портах, включая их версии. Опция -oN используется для сохранения вывода сканирования в обычном формате в указанный файл /home/labex/project/version_scan.txt. Сохранение вывода в файле позволяет вам позже просмотреть результаты.

  2. Просмотрите результаты сканирования:

    cat /home/labex/project/version_scan.txt

    После выполнения команды cat вы должны увидеть вывод, похожий на следующий:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-11-08 13:20:00 UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000097s latency).
    
    PORT     STATE SERVICE VERSION
    8080/tcp open  http    Python/3.10 aiohttp/3.8.1 (Python httpd)
    
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 6.52 seconds

    Обратите внимание, что Nmap теперь показывает не только имя службы, но и информацию о версии. В этом случае он определил, что HTTP - сервер работает с Python 3.10. Эта детальная информация может быть использована для выявления потенциальных рисков безопасности или для понимания возможностей службы.

Использование скриптов Nmap (NSE)

Модуль скриптов Nmap (Nmap Script Engine, NSE) представляет собой мощный инструмент, который позволяет запускать скрипты для выполнения различных задач. Эти задачи включают от обнаружения служб до сканирования на уязвимости. Используя скрипты NSE, вы можете расширить функциональность Nmap и собрать больше информации о целевой сети.

  1. Запустите базовый скрипт для получения информации о HTTP на вашем веб - сервере:

    nmap -p 8080 --script=http-title localhost -oN /home/labex/project/script_scan.txt

    Скрипт http-title предназначен для получения заголовка HTTP - веб - страниц. Это может быть полезно для быстрого определения содержания или назначения веб - страницы. Опция -oN сохраняет вывод сканирования с использованием скрипта в обычном формате в указанный файл /home/labex/project/script_scan.txt.

  2. Просмотрите результаты сканирования с использованием скрипта:

    cat /home/labex/project/script_scan.txt

    Вывод должен содержать что - то вроде этого:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-11-08 13:25:00 UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000097s latency).
    
    PORT     STATE SERVICE
    8080/tcp open  http-proxy
    |_http-title: Directory listing for /
    
    Nmap done: 1 IP address (1 host up) scanned in 0.42 seconds

    Скрипт http-title извлек заголовок веб - страницы, который в данном случае представляет собой список каталога. Эта информация может помочь вам понять структуру и содержание веб - сервера.

  3. Попробуем другой скрипт, который предоставляет больше информации о HTTP - сервере:

    nmap -p 8080 --script=http-server-header localhost -oN /home/labex/project/server_header_scan.txt

    Скрипт http-server-header используется для извлечения заголовка HTTP - сервера. Заголовок сервера часто содержит информацию о программном обеспечении сервера, такую как версия и тип. Эта информация может быть ценной для оценки безопасности и инвентаризации сети. Опция -oN сохраняет вывод сканирования в обычном формате в указанный файл /home/labex/project/server_header_scan.txt.

  4. Просмотрите результаты сканирования заголовка сервера:

    cat /home/labex/project/server_header_scan.txt

    Вывод должен содержать информацию о программном обеспечении сервера:

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-11-08 13:30:00 UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.000097s latency).
    
    PORT     STATE SERVICE
    8080/tcp open  http-proxy
    |_http-server-header: SimpleHTTP/0.6 Python/3.10.12
    
    Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

Комбинирование нескольких техник

Вы можете комбинировать несколько техник сканирования в одной команде Nmap для выполнения более комплексного сканирования. Это позволяет собрать широкий спектр информации о целевой сети за один раз.

  1. Запустите комплексное сканирование, включающее сканирование портов, обнаружение версии служб и сканирование с использованием скриптов:

    nmap -p 8080 -sV --script=http-title,http-server-header localhost -oA /home/labex/project/comprehensive_scan

    Эта команда выполняет несколько действий:

    • Она сканирует порт 8080 (-p 8080), то есть проверяет, открыт ли этот порт на целевом хосте.
    • Она обнаруживает версии служб (-sV), предоставляя информацию о конкретных версиях служб, работающих на порту.
    • Она запускает скрипты http-title и http-server-header (--script=http-title,http-server-header), которые соответственно извлекают заголовок веб - страницы и информацию о заголовке сервера.
    • Она сохраняет результаты во всех форматах (-oA). Сохранение во всех форматах гарантирует, что у вас есть разные представления результатов сканирования для разных целей.
  2. Просмотрите результаты комплексного сканирования:

    cat /home/labex/project/comprehensive_scan.nmap

    Вывод будет включать все информацию из предыдущих сканирований, объединенную в одном месте. Это дает вам всестороннее представление о целевой сетевой службе, работающей на порту 8080.

  3. Создайте итоговый анализ отчета, который суммирует все ваши результаты:

    echo "Final Nmap Analysis Report" > /home/labex/project/final_report.txt
    echo "------------------------" >> /home/labex/project/final_report.txt
    echo "Target: localhost (127.0.0.1)" >> /home/labex/project/final_report.txt
    echo "Port: 8080/tcp (open)" >> /home/labex/project/final_report.txt
    echo "Service:" >> /home/labex/project/final_report.txt
    grep "SERVICE VERSION" -A1 /home/labex/project/version_scan.txt | tail -1 >> /home/labex/project/final_report.txt
    echo "HTTP Server Header:" >> /home/labex/project/final_report.txt
    grep "http-server-header:" /home/labex/project/server_header_scan.txt >> /home/labex/project/final_report.txt
    echo "HTTP Page Title:" >> /home/labex/project/final_report.txt
    grep "http-title:" /home/labex/project/script_scan.txt >> /home/labex/project/final_report.txt

    Эта последовательность команд создает текстовый файл с именем final_report.txt и заполняет его сводкой всей информации, собранной из предыдущих сканирований. Она включает детали о цели, порте, версии службы, заголовке сервера и заголовке веб - страницы.

  4. Просмотрите ваш итоговый отчет:

    cat /home/labex/project/final_report.txt

    Ваш итоговый отчет должен содержать комплексную сводку всей информации, которую вы собрали о веб - сервере, работающем на порту 8080. Этот отчет может быть использован для дальнейшего анализа, оценки безопасности или документирования.

Изучение этих продвинутых техник сканирования с использованием Nmap позволяет собрать детальную информацию о сетевых службах, которая ценна для оценки безопасности, инвентаризации сети и устранения неполадок.

Резюме

В этом практическом занятии вы научились использовать Nmap, мощный инструмент для сетевого сканирования, предназначенный для обнаружения сетевых ресурсов и аудита безопасности. Вы получили практический опыт в различных операциях с использованием Nmap, включая настройку тестовой среды с локальным веб - сервером, выполнение базовых сканирований портов, изучение различных форматов вывода, извлечение и анализ результатов сканирования, а также применение продвинутых техник, таких как обнаружение версии служб и сканирование с использованием скриптов.

Эти навыки являются обязательными для сетевых администраторов, аналитиков безопасности и специалистов по пен - тестам. Они позволяют вам обнаруживать сетевые хосты и службы, документировать сетевую инфраструктуру, выявлять проблемы безопасности и автоматизировать сканирование и отчетность. Освоение Nmap и его форматов вывода обеспечивает эффективную сетевую разведку, интеграцию с другими инструментами безопасности и создание комплексных сетевых инвентарей. Навыки работы с командной строкой, которые вы отрабатывали, также могут быть применены в других задачах по системному администрированию и обеспечению безопасности.