Проверка обновления по плану сетевых изменений

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

Введение

Willow Makers одобрила перенос регистрации на новый порт. Каталог и служба состояния должны остаться доступны, а отладочная служба должна остаться отсутствующей. Ваша задача — исследовать получившиеся сетевые изменения и передать точный обзор, включая всё, что мешает приёмке.

Среда собрала реальное исходное сканирование, затем выполнила сценарий локального обслуживания. Это учебная подготовка, а не утверждение о вчерашней истории рабочей системы. Все записи синтетические; настоящие HTTP-службы работают в одном контейнере. Всё время используйте Terminal. В область входят только 127.0.0.4 и TCP-порты 8410,8420,8430,8440,8450. Сохраните исходную проверку, план, код служб, данные и первоначальные текущие процессы. Создавайте сканирования, загрузки и обзор, не ремонтируя эту среду наблюдения.

Достаточно базового ввода в терминал и понимания путей. Нужные понятия Nmap, Ndiff, HTTP и синтаксис оболочки объясняются. Finding the Live Workshop Service полезен для подготовки, программировать не нужно.

Чтение плана и работающей службы

Сначала установите, что было одобрено, и посмотрите на обычный ответ, прежде чем интерпретировать изменения. Начните в Terminal. cd меняет рабочий каталог этой оболочки; следующие относительные имена файлов отсчитываются от него. Если откроете другой терминал, повторите команду.

cd /home/labex/project/nmap-change

cat выводит текстовый файл. Прочтите утверждённый план:

cat plan.csv

CSV — значения, разделённые запятыми: первая строка называет столбцы, каждая следующая — отдельная запись. old_port и new_port описывают отношение службы, а не порядок сканирования. Строки разрешают перенос регистрации с 8410 на 8420, сохранение каталога на 8430 и состояния на 8440, а также отсутствие отладки на 8450. Поэтому открытый новый порт регистрации — ожидаемое изменение; другие открытия не становятся разрешёнными автоматически.

Подготовленный before.xml — настоящий XML Nmap, полученный до этого учебного обновления. before-business.csv содержит полный ответ регистрации, полученный тогда. Прочтите нормальный пример бизнес-данных:

cat before-business.csv

Ожидаются три записи registration для MAKERS-DAY: R01/Clay session, R02/Print session и R03/Wood session. После переноса потребуются те же полные данные.

HTTP — протокол запросов и ответов этих служб. curl получает URL. Сочетание -fsS завершает команду ошибкой при HTTP-ошибке, скрывает индикатор прогресса, но показывает ошибки; -o сохраняет ответ в следующий файл. Адрес выбирает назначение, порт после двоеточия — точку прослушивания, /manifest.csv — ресурс. Загрузите неизменённую службу состояния:

curl -fsS -o status.csv http://127.0.0.4:8440/manifest.csv
cat status.csv

Ожидается status/MAKERS-DAY/S01/Ready под заголовком. Этот успешный ответ — контроль, а не доказательство, что все запланированные службы сохранились. Если ошиблись в имени файла, прочтите ошибку, выведите текущий каталог через pwd и повторите начальный cd перед повтором исправленной команды. Не редактируйте подготовленные файлы или серверы.

Сбор сопоставимого текущего сканирования

Сканируйте ту же цель и полный набор портов, что и в исходной проверке. Оставайтесь в Terminal, в /home/labex/project/nmap-change. TCP-порты обозначают слушающие конечные точки. open означает принятое соединение, closed — получение отказа сканированием. Наблюдение относится к этому источнику, цели, протоколу и моменту.

Nmap обнаруживает и исследует сетевые службы. Его стандартный набор портов не совпадает с утверждённым планом. -sT выбирает TCP connect-сканирование без прав на необработанные пакеты; -Pn пропускает предварительное решение об обнаружении хоста, чтобы проверить каждый выбранный порт. Это само по себе не доказывает, что цель работает. -n пропускает обратное разрешение имён, -p выбирает разрешённые порты, -oX пишет структурированный XML наряду с обычным выводом. Пропуск порта делает сравнение неполным, а не доказывает исчезновение его службы.

Nmap Scripting Engine, NSE, позволяет выполнять узкие прикладные запросы. Сначала прочтите справку выбранного скрипта через --script-help:

nmap --script-help http-title

http-title читает заголовок HTML. Все кандидаты этого локального сценария объявлены HTTP-ресурсами. Начальный + явно запускает только этот скрипт, даже если база портов не распознаёт кандидата. Это допустимо в известной HTTP-области, но не оправдывает принудительный запуск произвольных скриптов для посторонних служб. --script-args передаёт именованный аргумент, http-title.url=/about выбирает страницу описания.

nmap -sT -Pn -n --script=+http-title --script-args=http-title.url=/about -p 8410,8420,8430,8440,8450 -oX after.xml 127.0.0.4

Дождитесь Nmap done. Порты 8420, 8440 и 8450 должны быть открыты, 8410 и 8430 — закрыты. Прочтите реальные ответы с заголовками: регистрация переехала, состояние сохранилось, отладка доступна. Обычное имя SERVICE само по себе не определяет бизнес-службу. Точная версия продукта не требуется.

Если прервали сканирование или выбрали неверную область, повторите исправленную полную команду, заменив after.xml. Переименование обычного текста в XML не создаёт структурированного доказательства.

Отличие изменений от ошибок выполнения

Используйте Ndiff для чтения изменений, не считая каждое различие сбоем. Оставайтесь в Terminal. Ndiff сравнивает два XML-файла Nmap; вашего плана одобрения он не знает.

Команда оболочки возвращает числовой код завершения. $? относится к непосредственно предыдущей команде, а echo печатает его. Выполняйте обе строки каждой проверки подряд, чтобы другая команда не подменила код. Сначала сравните исходную проверку с ней самой:

ndiff before.xml before.xml
echo $?

Ожидается 0: значимых различий нет. Ndiff игнорирует одни лишь различия времени сканирования. Теперь сравните до и после. > заменяет названный файл стандартным выводом команды; используйте только редактируемое назначение changes.txt:

ndiff before.xml after.xml > changes.txt
echo $?

Ожидается 1, то есть различия найдены. Это намеренный ненулевой код, не провал сравнения. Отсутствующий или нечитаемый вход даёт код 2 — ошибку выполнения. Исправьте путь и повторите, не выдавая отсутствующий отчёт за отсутствие изменений.

cat changes.txt

Строка - описывает прежнее наблюдение, + — последующее. Прочтите эти пары:

-8410/tcp open
+8410/tcp closed
-8420/tcp closed
+8420/tcp open
-8430/tcp open
+8430/tcp closed
-8450/tcp closed
+8450/tcp open

Реальный вывод также содержит заголовки, имена служб и названия страниц. Состояние на 8440 не изменилось и обычно не показывается в стандартном представлении разницы. Требование его сохранения всё равно нужно проверить. Пара старого/нового порта регистрации может быть разрешена, тогда как потеря каталога и доступная отладка блокируют передачу.

Передача проверки бизнес-данных и изменений

Подтвердите действительно перенесённые бизнес-данные и передайте полный обзор. Оставайтесь в Terminal. Заголовок или открытый порт не доказывают сохранность исходных записей. Загрузите полный ответ нового ресурса:

curl -fsS -o current-business.csv http://127.0.0.4:8420/manifest.csv
cat current-business.csv

cmp сравнивает два файла побайтово. При совпадении ничего не печатает и возвращает ноль:

cmp before-business.csv current-business.csv

Вы должны увидеть все три исходные записи регистрации MAKERS-DAY и успешное сравнение. Если URL введён неверно, исправьте и повторите загрузку. Не редактируйте записи ради прохождения сравнения. Реальное расхождение бизнес-данных мешало бы передаче даже при одинаковых заголовках страниц.

CSV обзора содержит четыре столбца: service, текущее состояние на старом порту, текущее состояние на новом и решение. Если пункт использует один фиксированный порт, включая требования keep или absent, старый и новый порт совпадают и текущие состояния повторяются. - используйте только при отсутствии старого порта, а не для закрытого порта. Решения различают approved-move, approved-addition, kept, unexpected-loss и unexpected-open. Миграция с неполной связью старого и нового порта — migration-incomplete; отсутствующее разрешённое добавление — missing-addition; запрещённый ресурс, остающийся закрытым, — kept-absent.

Here-document с кавычками передаёт следующие строки в cat буквально. > заменяет только ваш файл обзора; завершающий CSV должен стоять один на строке. Запишите четыре пункта плана:

cat > change-review.csv <<'CSV'
service,old_port_now,new_port_now,decision
registration,closed,open,approved-move
catalog,closed,closed,unexpected-loss
status,open,open,kept
debug,open,open,unexpected-open
CSV
cat change-review.csv

Этот обзор требует отложить передачу: разрешённый перенос работает, но нужный каталог отсутствует, а отладка неожиданно доступна. Вы завершили обзор, хотя владелец должен позднее исправить среду. Сохраните доказательства; в этой задаче не останавливайте отладку и не восстанавливайте каталог.

В конце снова используйте исходную службу состояния:

curl -fsS -o status.csv http://127.0.0.4:8440/manifest.csv

Она должна по-прежнему выдавать ту же запись Ready. Сохраните без изменений before.xml, before-business.csv, plan.csv и каждую первоначальную текущую службу.

Резюме

Вы собрали сопоставимые доказательства Nmap, интерпретировали коды завершения Ndiff, подтвердили полные перенесённые бизнес-данные и проверили каждое отношение одобрения. Разрешённые различия, неожиданные открытия и потеря необходимых служб — разные находки. Точный обзор может потребовать отложить передачу, сохранив исходную среду.