Как использовать Nmap для трассировки маршрута и чтения сетевого пути
Чтобы использовать Nmap для трассировки маршрута, выполните команду `nmap traceroute` nmap -sn --traceroute scanme.nmap.org. Эта -snопция пропускает сканирование портов, пока Nmap проверяет, активен ли хост; --tracerouteона запрашивает у него маршрут до отвечающего хоста. Замените тестовый хост только на систему, которой вы владеете, администрируете или на сканирование которой у вас есть разрешение. Эта команда, указывающая только путь, делает тест более узким, чем сканирование портов по умолчанию в Nmap.
Трассировка маршрута показывает, какие маршрутизаторы отвечают на запросы между сканирующим компьютером и пунктом назначения.
Что показывает трассировка маршрута Nmap
Программа трассировки маршрута оценивает путь в сети, отправляя пакеты с различными значениями IP-времени жизни (TTL) или лимита количества переходов. Каждый маршрутизатор уменьшает это значение; когда оно достигает нуля, маршрутизатор может вернуть сообщение ICMP «Time Exceeded». Инструмент сканирования использует эти ответы для идентификации переходов и измерения времени кругового пути (RTT). TTL учитывает переходы, а не секунды.
Метод Nmap отличается от классического tracerouteили Windows-версии tracert. Nmap выполняет трассировку маршрута после сканирования и использует результаты сканирования для выбора порта и протокола, которые, вероятно, позволят достичь цели. Он начинает с высокого значения TTL и отсчитывает вниз, в то время как многие традиционные инструменты трассировки маршрута начинают с единицы и отсчитывают вверх. В результате, вывод маршрута Nmap привязан к проведенному сканированию и зондированию; это не полная карта всех возможных маршрутов или обратного пути.
Выполните трассировку маршрута с помощью Nmap в четыре этапа.
1. Установите Nmap и убедитесь, что он работает.
Загрузите Nmap с официальной страницы загрузки Nmap . Выберите установщик для Windows или macOS, или следуйте официальным инструкциям по установке для вашего дистрибутива Linux. Откройте командную строку, PowerShell, терминал или оболочку Linux и введите команду nmap --version. Если команда не найдена, завершите установку или добавьте Nmap в путь к исполняемым файлам.
Для некоторых функций сканирования и трассировки маршрута требуются повышенные права на захват пакетов или работу с необработанными сокетами. В macOS или Linux попробуйте добавить префикс к команде, sudoесли Nmap сообщает о проблеме с правами доступа; в Windows откройте терминал с правами администратора, если это необходимо. Используйте только тот уровень привилегий, который необходим для вашего авторизованного теста.
2. Выберите хост, который вам разрешено тестировать.
Для обеспечения безопасной работы проект Nmap явно разрешает сканирование Nmap scanme.nmap.org. Это разрешение ограничено: не тестируйте эксплойты и не проводите тесты на атаки типа «отказ в обслуживании», а количество сканирований не должно превышать десятка в день. Для других хостов сначала получите разрешение владельца сети. В руководстве по использованию и применению Nmap объясняется область действия тестового хоста и почему важны разрешения на сканирование.
3. Начните с команды, указывающей только путь.
Выполните эту команду в macOS или Linux:
sudo nmap -sn --traceroute scanme.nmap.org
В Windows этот шаг можно пропустить sudoи при необходимости использовать терминал с правами администратора:
nmap -sn --traceroute scanme.nmap.org
Используйте -snэту опцию --tracerouteдля запроса обнаружения хоста и трассировки пути без сканирования портов.
В справочнике по обнаружению хостов Nmap описаны оба варианта. Nmap по-прежнему отправляет сетевые зонды; -snэто означает «без сканирования портов», а не «без трафика». Если вам необходимо исследовать конкретную службу, используйте сканирование портов с узкой областью действия против авторизованного хоста, например nmap -p 443 --traceroute your-authorized-host.example. Это проверяет TCP-порт 443 перед трассировкой и может отправлять больше трафика, чем команда, использующая только путь.
4. Прочитайте список сортов и сохраните его, если он вам пригодится.
Найдите TRACEROUTEраздел и его столбцы HOP, RTT, и ADDRESS. Номер перехода указывает наблюдаемое положение вдоль маршрута. RTT — это время, за которое зонд достигает этого перехода и за которое возвращается ответ; это не одностороннее измерение и не прямое измерение только канала связи. Адреса могут отображаться в виде IP-адресов или, если разрешение имени прошло успешно, в виде имен хостов.
Примерная схема расположения узлов: адреса переходов и время отклика различаются в зависимости от сети и времени суток.
Чтобы сохранить обычную текстовую копию для сравнения, добавьте параметр вывода Nmap:
Для сравнения результатов выполните одну и ту же команду из одной и той же сети-источника. Изменение маршрута может отражать изменения в маршрутизации, балансировке нагрузки или временной фильтрации, а не являться самостоятельным сбоем.
Устранение неполадок, связанных с отсутствующими или неправильно указанными переходами.
Появляется звездочка:* * * это означает, что Nmap не получил пригодный для использования ответ на этот запрос до истечения времени ожидания. Маршрутизатор может фильтровать или ограничивать скорость ответов и при этом продолжать пересылать трафик, поэтому один незаметный переход не доказывает, что путь прерван.
Трассировка не запускается: убедитесь, что имя хоста разрешается, что целевой сервер отвечает на запросы обнаружения и что у вас есть необходимые права доступа. Если вы контролируете целевой сервер, проверьте его брандмауэр и сетевые правила между ним и вашим сканером.
Имена замедляют отображение: добавьте -n, например, , чтобы пропускать обратный поиск DNS sudo nmap -n -sn --traceroute scanme.nmap.org.
Скачки задержки на одном из узлов: рассматривайте это как подсказку, а не как доказательство перегрузки на этом маршрутизаторе. Ответы ICMP могут задерживаться или иметь более низкий приоритет, а исходящие и обратные маршруты могут отличаться.
Промежуточный узел, не реагирующий на трафик, всё ещё может его пересылать; последующие узлы могут отвечать в обычном режиме.
Nmap --tracerouteполезен, когда вам нужна информация о пути вместе с результатами обнаружения хостов или сканирования портов. Список переходов можно рассматривать как подтверждение из одного источника, в один момент времени, с использованием конкретных зондов. Межсетевые экраны, балансировка нагрузки и асимметричная маршрутизация могут скрывать или изменять часть картины.