Устранение неполадок сканирования Nmap

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

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

Введение

В этом лабе вы научитесь устранять неполадки при сканировании с использованием Nmap с помощью трассировки пакетов и методов отладки. Лаб-руководство проведет вас через процесс запуска сканирования с использованием Nmap с параметром --packet-trace для наблюдения за сетевыми пакетами, включения уровня отладки 2 с помощью -d2 и комбинирования трассировки и отладки.

Вы также научитесь сохранять вывод трассировки в файл с использованием -oN и анализировать детали пакетов в терминале Xfce для выявления проблем при сканировании. В лабе используются команды, такие как nmap --packet-trace 192.168.1.1, nmap -d2 127.0.0.1 и nmap --packet-trace -oN trace.txt 127.0.0.1, чтобы дать практический опыт в диагностике проблем при сканировании с использованием Nmap.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/output_formats("Output Formats") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") nmap/NmapGroup -.-> nmap/stealth_scanning("Stealth and Covert Scanning") subgraph Lab Skills nmap/output_formats -.-> lab-547117{{"Устранение неполадок сканирования Nmap"}} nmap/save_output -.-> lab-547117{{"Устранение неполадок сканирования Nmap"}} nmap/port_scanning -.-> lab-547117{{"Устранение неполадок сканирования Nmap"}} nmap/target_specification -.-> lab-547117{{"Устранение неполадок сканирования Nmap"}} nmap/verbosity -.-> lab-547117{{"Устранение неполадок сканирования Nmap"}} nmap/service_detection -.-> lab-547117{{"Устранение неполадок сканирования Nmap"}} nmap/stealth_scanning -.-> lab-547117{{"Устранение неполадок сканирования Nmap"}} end

Запуск сканирования с трассингом пакетов с использованием nmap --packet-trace 192.168.1.1

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

Прежде чем мы начнем, кратко обсудим, что такое трассировка пакетов. Трассировка пакетов заключается в захвате и анализе сетевых пакетов для понимания взаимодействия между двумя или более устройствами. Параметр --packet-trace Nmap предоставляет простой способ просматривать эти пакеты непосредственно из программы Nmap.

Для выполнения сканирования с трассингом пакетов следуйте шагам:

  1. Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.

  2. Выполните команду Nmap: В терминале введите следующую команду и нажмите Enter:

    sudo nmap --packet-trace 192.168.1.1
    • sudo: Эта команда требует прав администратора для захвата сетевых пакетов.
    • nmap: Это командная строка сканера Nmap.
    • --packet-trace: Этот параметр сообщает Nmap вывести трассу пакетов, которые оно отправляет и получает.
    • 192.168.1.1: Это целевой IP-адрес. Если этот IP-адрес недоступен в вашей сети, вы можете заменить его на IP-адрес устройства, доступного из вашей виртуальной машины LabEx. Чаще всего это 127.0.0.1 (локальный хост).
  3. Обратите внимание на вывод: Теперь Nmap выполнит сканирование целевого IP-адреса и выведет подробную информацию о каждом отправленном и полученном пакете. Вывод покажет тип пакета (например, SYN, ACK), исходный и целевой IP-адреса и порты, а также другие важные сведения.

    Вывод будет похож на следующий (точный вывод может отличаться в зависимости от вашей сети и целевого хоста):

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
    SENT (0.0034s) to 192.168.1.1: TCP 192.168.1.100:54321 > 192.168.1.1:80 S ttl=64 id=12345 win=65535
    RECV (0.0045s) from 192.168.1.1: TCP 192.168.1.1:80 > 192.168.1.100:54321 SA ttl=64 id=67890 win=14600
    SENT (0.0045s) to 192.168.1.1: TCP 192.168.1.100:54321 > 192.168.1.1:80 A ttl=64 id=12346 win=65535
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.123 seconds

    Каждая строка представляет пакет. SENT означает пакет, отправленный Nmap, а RECV означает пакет, полученный Nmap. Информация после SENT или RECV описывает протокол пакета (TCP), исходный и целевой IP-адреса и порты, флаги (S для SYN, A для ACK, SA для SYN-ACK), TTL (Time To Live), ID и размер окна.

  4. Прервите сканирование: Сканирование будет продолжаться некоторое время. Вы можете прервать его, нажав Ctrl+C.

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

Включение уровня отладки 2 с использованием nmap -d2 127.0.0.1

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

Уровни отладки Nmap находятся в диапазоне от 1 до 9. Более высокие уровни предоставляют более подробный вывод. Для этого шага мы будем использовать уровень отладки 2, который обеспечивает хороший баланс между детализацией и читаемостью.

Для включения уровня отладки 2 следуйте шагам:

  1. Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.

  2. Выполните команду Nmap: В терминале введите следующую команду и нажмите Enter:

    sudo nmap -d2 127.0.0.1
    • sudo: Эта команда может потребовать прав администратора в зависимости от типа сканирования.
    • nmap: Это командная строка сканера Nmap.
    • -d2: Этот параметр устанавливает уровень отладки в 2.
    • 127.0.0.1: Это целевой IP-адрес, который является адресом петли (локальным хостом).
  3. Обратите внимание на вывод: Теперь Nmap выполнит сканирование локального хоста и выведет информацию отладки в терминал. Вывод будет включать подробности о конфигурации Nmap, зондах, которые оно отправляет, и ответах, которые оно получает.

    Вывод будет похож на следующий (точный вывод может отличаться):

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
    --------------- Timing report ---------------
      hostgroups: min 1, max 1024
      rtt-timeouts: init 1250, min 100, max 10000
      max-scan-delay: 0 ms, brtt 1250 ms, rttvar 625 ms
      parallelism: min 1, max 256
    ---------------------------------------------
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.123 seconds

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

  4. Прервите сканирование: Сканирование будет продолжаться некоторое время. Вы можете прервать его, нажав Ctrl+C.

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

Объединение трассировки и отладки с использованием nmap --packet-trace -d 192.168.1.1

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

Для комбинирования трассировки пакетов и отладки следуйте шагам:

  1. Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.

  2. Выполните команду Nmap: В терминале введите следующую команду и нажмите Enter:

    sudo nmap --packet-trace -d 192.168.1.1
    • sudo: Эта команда требует прав администратора для захвата сетевых пакетов.
    • nmap: Это командная строка сканера Nmap.
    • --packet-trace: Этот параметр сообщает Nmap вывести трассу пакетов, которые оно отправляет и получает.
    • -d: Этот параметр включает вывод отладки. По умолчанию он устанавливает уровень отладки в 1. Вы можете использовать -d2, -d3 и т.д., чтобы увеличить уровень отладки. В этом случае мы используем стандартный уровень 1.
    • 192.168.1.1: Это целевой IP-адрес. Если этот IP-адрес недоступен в вашей сети, вы можете заменить его на IP-адрес устройства, доступного из вашей виртуальной машины LabEx. Чаще всего это 127.0.0.1 (локальный хост).
  3. Обратите внимание на вывод: Теперь Nmap выполнит сканирование целевого IP-адреса и выведет трассу пакетов и информацию отладки в терминал. Вывод будет комбинацией деталей пакетов (как в шаге 1) и внутренних сообщений Nmap (как в шаге 2).

    Вывод будет похож на следующий (точный вывод может отличаться в зависимости от вашей сети и целевого хоста):

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
    SENT (0.0034s) to 192.168.1.1: TCP 192.168.1.100:54321 > 192.168.1.1:80 S ttl=64 id=12345 win=65535
    RECV (0.0045s) from 192.168.1.1: TCP 192.168.1.1:80 > 192.168.1.100:54321 SA ttl=64 id=67890 win=14600
    NSE: Using Lua engine for script processing.
    SENT (0.0045s) to 192.168.1.1: TCP 192.168.1.100:54321 > 192.168.1.1:80 A ttl=64 id=12346 win=65535
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.123 seconds

    Вы увидите строки SENT и RECV, перепутанные с отладочными сообщениями, такими как NSE: Using Lua engine for script processing..

  4. Прервите сканирование: Сканирование будет продолжаться некоторое время. Вы можете прервать его, нажав Ctrl+C.

В этом шаге показано, как комбинировать трассировку пакетов и вывод отладки в Nmap. Эта комбинация представляет собой мощный инструмент для понимания и отладки сканирования Nmap.

Сохранение вывода трассировки с использованием nmap --packet-trace -oN trace.txt 127.0.0.1

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

Для сохранения вывода трассировки пакетов в файл следуйте шагам:

  1. Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.

  2. Выполните команду Nmap: В терминале введите следующую команду и нажмите Enter:

    sudo nmap --packet-trace -oN trace.txt 127.0.0.1
    • sudo: Эта команда может потребовать прав администратора в зависимости от типа сканирования.
    • nmap: Это командная строка сканера Nmap.
    • --packet-trace: Этот параметр сообщает Nmap вывести трассу пакетов, которые оно отправляет и получает.
    • -oN trace.txt: Этот параметр задает, что вывод должен быть сохранен в обычном формате в файл trace.txt. Файл будет создан в вашей текущей директории (~/project).
    • 127.0.0.1: Это целевой IP-адрес, который является адресом петли (локальным хостом).
  3. Обратите внимание на вывод: Nmap выполнит сканирование локального хоста и выведет трассу пакетов в терминал, а также сохранит ее в файл trace.txt.

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

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
    SENT (0.0034s) to 127.0.0.1: TCP 127.0.0.1:54321 > 127.0.0.1:80 S ttl=64 id=12345 win=65535
    RECV (0.0045s) from 127.0.0.1: TCP 127.0.0.1:80 > 127.0.0.1:54321 SA ttl=64 id=67890 win=14600
    SENT (0.0045s) to 127.0.0.1: TCP 127.0.0.1:54321 > 127.0.0.1:80 A ttl=64 id=12346 win=65535
    ...
    Nmap done: 1 IP address (1 host up) scanned in 0.123 seconds
  4. Проверьте создание файла: После завершения сканирования проверьте, был ли создан файл trace.txt в директории ~/project. Вы можете использовать команду ls, чтобы проверить:

    ls ~/project

    В выводе вы должны увидеть trace.txt.

  5. Посмотрите на содержимое файла: Вы можете просмотреть содержимое файла trace.txt с помощью команды cat или текстового редактора, такого как nano:

    cat ~/project/trace.txt

    или

    nano ~/project/trace.txt

    Файл будет содержать ту же трассу пакетов, которая была выведена в терминал.

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

Анализ деталей пакетов в терминале Xfce

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

Для анализа деталей пакетов следуйте шагам:

  1. Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.

  2. Просмотрите файл trace.txt: В предыдущем шаге вы сохранили вывод трассировки пакетов в файл trace.txt в директории ~/project. Если вы не сделали этот шаг, пожалуйста, вернитесь и выполните его сначала.

  3. Используйте grep для фильтрации пакетов: Команда grep - это мощный инструмент для поиска текстовых файлов. Мы можем использовать ее для фильтрации файла trace.txt и поиска пакетов, соответствующих определенным критериям.

    Например, чтобы найти все пакеты, отправленные на порт 80, вы можете использовать следующую команду:

    grep " > 127.0.0.1:80" ~/project/trace.txt
    • grep: Это командная строка утилита для поиска текста.
    • " > 127.0.0.1:80": Это шаблон поиска. Он ищет строки, содержащие " > 127.0.0.1:80", что указывает на пакеты, отправленные на порт 80 на локальном хосте (127.0.0.1). Пробел перед > важен, чтобы избежать совпадения с исходными портами.
    • ~/project/trace.txt: Это путь к файлу, содержащему вывод трассировки пакетов.

    Вывод будет показывать все строки в файле trace.txt, которые соответствуют шаблону поиска. Например:

    SENT (0.0034s) to 127.0.0.1: TCP 127.0.0.1:54321 > 127.0.0.1:80 S ttl=64 id=12345 win=65535
    RECV (0.0045s) from 127.0.0.1: TCP 127.0.0.1:80 > 127.0.0.1:54321 SA ttl=64 id=67890 win=14600
    SENT (0.0045s) to 127.0.0.1: TCP 127.0.0.1:54321 > 127.0.0.1:80 A ttl=64 id=12346 win=65535
  4. Анализируйте детали пакетов: Просмотрите вывод, чтобы понять детали пакетов. Вывод показывает направление пакета (SENT или RECV), исходные и целевые IP-адреса и порты, протокол (TCP) и другие флаги и параметры.

    • SENT: Указывает на пакет, отправленный Nmap.
    • RECV: Указывает на пакет, полученный Nmap.
    • TCP 127.0.0.1:54321 > 127.0.0.1:80: Показывает исходный IP-адрес и порт (127.0.0.1:54321) и целевой IP-адрес и порт (127.0.0.1:80).
    • S: Указывает, что флаг SYN установлен, который используется для инициации TCP-соединения.
    • SA: Указывает, что флаги SYN-ACK установлены, что является ответом на пакет SYN.
    • A: Указывает, что флаг ACK установлен, который используется для подтверждения полученных данных.
    • ttl: Время жизни.
    • id: IP-номер идентификации.
    • win: Размер окна.
  5. Попробуйте разные шаблоны grep: Попробуйте разные шаблоны grep для фильтрации вывода трассировки пакетов в соответствии с вашими конкретными потребностями. Например:

    • Чтобы найти все SYN-пакеты:

      grep "S ttl=" ~/project/trace.txt
    • Чтобы найти все пакеты, полученные с порта 80:

      grep "from 127.0.0.1:80" ~/project/trace.txt
    • Чтобы найти все пакеты с определенным IP-ID:

      grep "id=12345" ~/project/trace.txt

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

Идентификация проблем при сканировании в терминале Xfce

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

Для идентификации проблем при сканировании следуйте шагам:

  1. Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.

  2. Просмотрите файл trace.txt: В предыдущих шагах вы сохранили вывод трассировки пакетов в файл trace.txt в директории ~/project. Убедитесь, что этот файл существует и содержит информацию о трассировке пакетов.

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

    grep "Retransmission" ~/project/trace.txt

    Если вы видите строки, содержащие "Retransmission", это означает, что Nmap 不得不 повторно отправить пакеты. Это может быть признаком проблем в сети или брандмауэра.

  4. Анализируйте флаги TCP: Просмотрите флаги TCP в трассировке пакетов, чтобы понять состояние TCP-соединения. Ищите неожиданные комбинации флагов или отсутствие флагов. Например, пакет SYN без соответствующего ответа SYN-ACK может указывать на блокировку соединения брандмауэром.

    Вы можете использовать grep для фильтрации по конкретным флагам TCP. Например, чтобы найти пакеты SYN:

    grep "S ttl=" ~/project/trace.txt

    И чтобы найти пакеты SYN-ACK:

    grep "SA ttl=" ~/project/trace.txt

    Сравните количество отправленных пакетов SYN с количеством полученных пакетов SYN-ACK. Если количество пакетов SYN-ACK значительно меньше, чем пакетов SYN, это может указывать на проблему.

  5. Проверяйте на неожиданные ответы: Иногда целевой хост может отправлять неожиданные ответы, такие как сообщения об ошибках ICMP. Эти ответы могут дать ценную информацию о том, почему сканирование завершается с ошибкой.

    Чтобы искать пакеты ICMP, используйте следующую команду:

    grep "ICMP" ~/project/trace.txt

    Анализируйте сообщения ICMP, чтобы понять природу ошибки. Например, "Destination Unreachable" означает, что целевой хост недоступен.

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

    Просмотрите трассировку пакетов, чтобы определить зонды, которые не получили ответ. Например, если вы отправили пакет SYN на порт 80, но не получили пакет SYN-ACK, это может означать, что порт 80 закрыт или отфильтрован.

  7. Рассмотрите отладочный вывод: Хотя предыдущие шаги были посвящены трассировке пакетов, помните, что отладочный вывод (от -d или -d2) также может дать ценные подсказки. Он часто содержит информацию о внутреннем процессе принятия решений Nmap, которая может помочь вам понять, почему оно ведет себя определенным образом. К сожалению, мы не сохраняли отладочный вывод в файл в предыдущих шагах, но в реальном сценарии вы бы анализировали этот вывод вместе с трассировкой пакетов.

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

Резюме

В этом лабе мы исследовали возможности отладки Nmap, используя параметр --packet-trace для наблюдения за сетевыми пакетами, обмениваемыми в ходе сканирования. Для этого в терминале Xfce выполняли команду sudo nmap --packet-trace 192.168.1.1 (или 127.0.0.1 в качестве альтернативы) и анализировали детailed вывод, который включал типы пакетов, исходные и целевые IP-адреса и порты, а также другую важную информацию.

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