Введение
В этом лабе вы научитесь устранять неполадки при сканировании с использованием 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.
Запустить сканирование с трасссировкой пакетов с использованием nmap --packet-trace 192.168.1.1
В этом шаге мы будем использовать параметр --packet-trace с Nmap для наблюдения за пакетами, отправляемыми и принимаемыми в ходе сканирования. Это мощный инструмент отладки, который позволяет точно понять, что делает Nmap на уровне сети.
Прежде чем мы начнем, кратко обсудим, что такое трассировка пакетов. Трассировка пакетов заключается в захвате и анализе сетевых пакетов для понимания взаимодействия между двумя или более устройствами. Параметр --packet-trace Nmap предоставляет простой способ просматривать эти пакеты непосредственно из программы Nmap.
Для выполнения сканирования с трассингом пакетов следуйте шагам:
Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.
Выполните команду Nmap: В терминале введите следующую команду и нажмите Enter:
sudo nmap --packet-trace 192.168.1.1sudo: Эта команда требует прав администратора для захвата сетевых пакетов.nmap: Это командная строка сканера Nmap.--packet-trace: Этот параметр сообщает Nmap вывести трассу пакетов, которые оно отправляет и получает.192.168.1.1: Это целевой IP-адрес. Если этот IP-адрес недоступен в вашей сети, вы можете заменить его на IP-адрес устройства, доступного из вашей виртуальной машины LabEx. Чаще всего это127.0.0.1(локальный хост).
Обратите внимание на вывод: Теперь 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 и размер окна.Прервите сканирование: Сканирование будет продолжаться некоторое время. Вы можете прервать его, нажав
Ctrl+C.
В этом шаге показано, как использовать параметр --packet-trace для получения информации о сетевой активности Nmap. В следующих шагах мы будем изучать другие параметры и методы отладки.
Включить уровень отладки 2 с использованием nmap -d2 127.0.0.1
В этом шаге мы будем включать уровень отладки 2 в Nmap. Вывод отладки предоставляет подробную информацию о внутренних операциях Nmap, которая может помочь понять, как работает Nmap и устранять проблемы.
Уровни отладки Nmap находятся в диапазоне от 1 до 9. Более высокие уровни предоставляют более подробный вывод. Для этого шага мы будем использовать уровень отладки 2, который обеспечивает хороший баланс между детализацией и читаемостью.
Для включения уровня отладки 2 следуйте шагам:
Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.
Выполните команду Nmap: В терминале введите следующую команду и нажмите Enter:
sudo nmap -d2 127.0.0.1sudo: Эта команда может потребовать прав администратора в зависимости от типа сканирования.nmap: Это командная строка сканера Nmap.-d2: Этот параметр устанавливает уровень отладки в 2.127.0.0.1: Это целевой IP-адрес, который является адресом петли (локальным хостом).
Обратите внимание на вывод: Теперь 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 и для диагностики проблем.
Прервите сканирование: Сканирование будет продолжаться некоторое время. Вы можете прервать его, нажав
Ctrl+C.
В этом шаге показано, как включить уровень отладки 2 в Nmap. В следующем шаге мы будем комбинировать трассировку пакетов и вывод отладки для более подробного анализа.
Объединить трассировку и отладку с использованием nmap --packet-trace -d 192.168.1.1
В этом шаге мы будем комбинировать параметры --packet-trace и -d, чтобы получить полное представление о работе Nmap. Это обеспечит детализацию на уровне пакетов и внутреннюю отладочную информацию, которая может быть очень полезной для глубокой отладки и понимания поведения Nmap.
Для комбинирования трассировки пакетов и отладки следуйте шагам:
Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.
Выполните команду Nmap: В терминале введите следующую команду и нажмите Enter:
sudo nmap --packet-trace -d 192.168.1.1sudo: Эта команда требует прав администратора для захвата сетевых пакетов.nmap: Это командная строка сканера Nmap.--packet-trace: Этот параметр сообщает Nmap вывести трассу пакетов, которые оно отправляет и получает.-d: Этот параметр включает вывод отладки. По умолчанию он устанавливает уровень отладки в 1. Вы можете использовать-d2,-d3и т.д., чтобы увеличить уровень отладки. В этом случае мы используем стандартный уровень 1.192.168.1.1: Это целевой IP-адрес. Если этот IP-адрес недоступен в вашей сети, вы можете заменить его на IP-адрес устройства, доступного из вашей виртуальной машины LabEx. Чаще всего это127.0.0.1(локальный хост).
Обратите внимание на вывод: Теперь 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..Прервите сканирование: Сканирование будет продолжаться некоторое время. Вы можете прервать его, нажав
Ctrl+C.
В этом шаге показано, как комбинировать трассировку пакетов и вывод отладки в Nmap. Эта комбинация представляет собой мощный инструмент для понимания и отладки сканирования Nmap.
Сохранить вывод трассировки с использованием nmap --packet-trace -oN trace.txt 127.0.0.1
В этом шаге мы сохраним вывод трассировки пакетов в файл для дальнейшего анализа. Это полезно, когда вы хотите более тщательно изучить детали пакетов или поделиться выводом с другими. Nmap предоставляет несколько вариантов сохранения результатов сканирования в различных форматах. Здесь мы будем использовать обычный формат вывода (-oN), чтобы сохранить трассировку пакетов.
Для сохранения вывода трассировки пакетов в файл следуйте шагам:
Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.
Выполните команду Nmap: В терминале введите следующую команду и нажмите Enter:
sudo nmap --packet-trace -oN trace.txt 127.0.0.1sudo: Эта команда может потребовать прав администратора в зависимости от типа сканирования.nmap: Это командная строка сканера Nmap.--packet-trace: Этот параметр сообщает Nmap вывести трассу пакетов, которые оно отправляет и получает.-oN trace.txt: Этот параметр задает, что вывод должен быть сохранен в обычном формате в файлtrace.txt. Файл будет создан в вашей текущей директории (~/project).127.0.0.1: Это целевой IP-адрес, который является адресом петли (локальным хостом).
Обратите внимание на вывод: 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Проверьте создание файла: После завершения сканирования проверьте, был ли создан файл
trace.txtв директории~/project. Вы можете использовать командуls, чтобы проверить:ls ~/projectВ выводе вы должны увидеть
trace.txt.Посмотрите на содержимое файла: Вы можете просмотреть содержимое файла
trace.txtс помощью командыcatили текстового редактора, такого какnano:cat ~/project/trace.txtили
nano ~/project/trace.txtФайл будет содержать ту же трассу пакетов, которая была выведена в терминал.
В этом шаге показано, как сохранить вывод трассировки пакетов Nmap в файл. В следующем шаге мы будем анализировать детали пакетов в терминале Xfce.
Анализировать детали пакетов в терминале Xfce
В этом шаге мы будем анализировать детали пакетов, захваченные с помощью параметра --packet-trace Nmap. Понимание вывода трассировки пакетов может помочь вам диагностировать проблемы в сети, понять, как работают зонды Nmap и выявить потенциальные уязвимости безопасности. Мы будем использовать команду grep в терминале Xfce для фильтрации и исследования конкретных пакетов.
Для анализа деталей пакетов следуйте шагам:
Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.
Просмотрите файл
trace.txt: В предыдущем шаге вы сохранили вывод трассировки пакетов в файлtrace.txtв директории~/project. Если вы не сделали этот шаг, пожалуйста, вернитесь и выполните его сначала.Используйте
grepдля фильтрации пакетов: Командаgrep- это мощный инструмент для поиска текстовых файлов. Мы можем использовать ее для фильтрации файлаtrace.txtи поиска пакетов, соответствующих определенным критериям.Например, чтобы найти все пакеты, отправленные на порт 80, вы можете использовать следующую команду:
grep " > 127.0.0.1:80" ~/project/trace.txtgrep: Это командная строка утилита для поиска текста." > 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Анализируйте детали пакетов: Просмотрите вывод, чтобы понять детали пакетов. Вывод показывает направление пакета (
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: Размер окна.
Попробуйте разные шаблоны
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.
Для идентификации проблем при сканировании следуйте шагам:
Откройте терминал: Если у вас еще не открыт терминал, запустите терминал Xfce.
Просмотрите файл
trace.txt: В предыдущих шагах вы сохранили вывод трассировки пакетов в файлtrace.txtв директории~/project. Убедитесь, что этот файл существует и содержит информацию о трассировке пакетов.Ищите повторные передачи пакетов: Повторные передачи пакетов происходят, когда пакет не подтверждается целевым хостом, и Nmap отправляет пакет повторно. Это может свидетельствовать о задержке в сети, потере пакетов или блокировке трафика брандмауэром. Используйте
grepдля поиска повторных передач:grep "Retransmission" ~/project/trace.txtЕсли вы видите строки, содержащие "Retransmission", это означает, что Nmap 不得不 повторно отправить пакеты. Это может быть признаком проблем в сети или брандмауэра.
Анализируйте флаги 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, это может указывать на проблему.
Проверяйте на неожиданные ответы: Иногда целевой хост может отправлять неожиданные ответы, такие как сообщения об ошибках ICMP. Эти ответы могут дать ценную информацию о том, почему сканирование завершается с ошибкой.
Чтобы искать пакеты ICMP, используйте следующую команду:
grep "ICMP" ~/project/trace.txtАнализируйте сообщения ICMP, чтобы понять природу ошибки. Например, "Destination Unreachable" означает, что целевой хост недоступен.
Ищите отсутствующие ответы: Если Nmap отправляет зонд и не получает ответ, это может означать, что целевой хост отключен, брандмауэр блокирует трафик или зонд был потерян в transit.
Просмотрите трассировку пакетов, чтобы определить зонды, которые не получили ответ. Например, если вы отправили пакет SYN на порт 80, но не получили пакет SYN-ACK, это может означать, что порт 80 закрыт или отфильтрован.
Рассмотрите отладочный вывод: Хотя предыдущие шаги были посвящены трассировке пакетов, помните, что отладочный вывод (от
-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 и облегчает выявление потенциальных проблем при сканировании.



