Einführung
Willow Makers hat die Verlagerung der Anmeldung auf einen neuen Port genehmigt. Katalog und Statusdienst müssen verfügbar bleiben, der Debug-Dienst muss abwesend bleiben. Deine Aufgabe ist, die entstandenen Netzwerkänderungen zu prüfen und eine genaue Übergabebewertung abzugeben, einschließlich aller Abnahmehindernisse.
Die Umgebung hat einen echten Ausgangsscan erfasst und danach ein lokales Wartungsszenario ausgeführt. Das ist eine Schulungsvorbereitung, keine Aussage über die Produktionshistorie der letzten Nacht. Alle Datensätze sind synthetisch; die echten HTTP-Dienste teilen einen Container. Verwende durchgehend Terminal. Nur 127.0.0.4 und die TCP-Ports 8410,8420,8430,8440,8450 gehören zum Umfang. Erhalte Ausgangsscan, Plan, Dienstcode, Daten und ursprüngliche aktuelle Prozesse. Du erstellst Scans, Downloads und eine Bewertung; du reparierst dieses Beobachtungsszenario nicht.
Grundlegende Terminaleingaben und Pfade reichen aus. Nötige Nmap-, Ndiff-, HTTP- und Shell-Konzepte werden erklärt. Finding the Live Workshop Service ist eine hilfreiche Vorbereitung; Programmieren ist nicht erforderlich.
Den Plan und einen funktionierenden Dienst lesen
Kläre zunächst, was genehmigt wurde, und sieh dir eine normale Antwort an, bevor du Änderungen interpretierst. Beginne in Terminal. cd ändert das Arbeitsverzeichnis dieser Shell; relative Dateinamen beziehen sich anschließend darauf. Wiederhole den Befehl, wenn du ein weiteres Terminal öffnest.
cd /home/labex/project/nmap-change
cat zeigt eine Textdatei. Lies den genehmigten Plan:
cat plan.csv
CSV bedeutet durch Kommas getrennte Werte: Die erste Zeile benennt die Spalten, jede weitere ist ein Datensatz. old_port und new_port beschreiben die Dienstbeziehung, nicht die Reihenfolge der Scans. Die Zeilen genehmigen den Umzug der Anmeldung von 8410 nach 8420, den Erhalt des Katalogs auf 8430 und des Status auf 8440 sowie das Fernbleiben von Debug auf 8450. Ein offener neuer Anmeldeport ist daher erwartet; jede andere Öffnung ist nicht automatisch genehmigt.
Die vorbereitete before.xml ist echtes Nmap-XML von vor diesem Schulungsupdate. before-business.csv enthält die damals abgerufene vollständige Anmeldeantwort. Lies das normale Geschäftsbeispiel:
cat before-business.csv
Erwarte drei registration-Datensätze für MAKERS-DAY: R01/Clay session, R02/Print session und R03/Wood session. Nach dem Umzug müssen dieselben vollständigen Geschäftsdaten verfügbar sein.
HTTP ist das Anfrage-Antwort-Protokoll dieser Dienste. curl ruft eine URL ab. Die kombinierten Optionen -fsS lassen HTTP-Fehler fehlschlagen, verbergen die Fortschrittsanzeige und zeigen weiter Fehler; -o speichert die Antwort unter dem folgenden Dateinamen. Die Adresse wählt das Ziel, der Port nach dem Doppelpunkt den Listener und /manifest.csv die Ressource. Lade den unveränderten Statusdienst herunter:
curl -fsS -o status.csv http://127.0.0.4:8440/manifest.csv
cat status.csv
Erwarte status/MAKERS-DAY/S01/Ready unter der Kopfzeile. Diese erfolgreiche Antwort ist deine Kontrolle, kein Beweis, dass alle geplanten Dienste überlebt haben. Bei einem falsch eingegebenen Dateinamen lies die Fehlermeldung, zeige mit pwd das aktuelle Verzeichnis und wiederhole den anfänglichen cd, bevor du den korrigierten Befehl erneut ausführst. Bearbeite die vorbereiteten Dateien oder Server nicht.
Einen vergleichbaren aktuellen Scan erfassen
Scanne dasselbe Ziel und dieselbe vollständige Portmenge wie im Ausgangsscan. Bleibe in Terminal unter /home/labex/project/nmap-change. TCP-Ports kennzeichnen Listener-Endpunkte. open bedeutet, dass eine Verbindung angenommen wurde; closed, dass der Scan eine Ablehnung erhielt. Eine Beobachtung gehört zu dieser Quelle, diesem Ziel, Protokoll und Zeitpunkt.
Nmap entdeckt und untersucht Netzwerkdienste. Seine Standard-Portauswahl ist nicht dieser Genehmigungsplan. -sT wählt TCP-Connect-Scanning ohne Rechte für rohe Pakete; -Pn überspringt die vorherige Host-Discovery-Entscheidung, damit jeder gewählte Port untersucht wird. Es beweist allein nicht, dass das Ziel aktiv ist. -n überspringt die umgekehrte Namensauflösung, -p wählt die erlaubten Ports und -oX schreibt strukturiertes XML zusätzlich zur normalen Terminalausgabe. Ein ausgelassener Port macht den Vergleich unvollständig, statt das Verschwinden seines Dienstes zu beweisen.
Die Nmap Scripting Engine, NSE, kann gezielte Anwendungsanfragen senden. Lies zunächst mit --script-help die Hilfe des gewählten Skripts:
nmap --script-help http-title
http-title liest einen HTML-Titel. Alle Kandidaten dieses lokalen Szenarios sind als HTTP-Endpunkte deklariert. Das vorangestellte + führt ausdrücklich dieses einzelne Skript aus, auch wenn die Portdatenbank einen Kandidaten nicht erkennt. Das ist im bekannten HTTP-Umfang angemessen, kein Grund für beliebige erzwungene Skripte auf anderen Diensten. --script-args übergibt das benannte Argument und http-title.url=/about wählt die beschreibende Seite.
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
Warte auf Nmap done. Die Ports 8420, 8440 und 8450 sollten offen sein; 8410 und 8430 geschlossen. Lies die echten Titelantworten: Anmeldung wurde verlagert, Status bleibt und Debug ist erreichbar. Ein üblicher SERVICE-Name identifiziert allein nicht den Geschäftsdienst. Keine genaue Produktversion ist nötig.
Bei Unterbrechung oder falschem Umfang wiederhole den korrigierten vollständigen Befehl, um after.xml zu ersetzen. Einfachen Text in XML umzubenennen erzeugt keine strukturierten Belege.
Unterschiede von Ausführungsfehlern trennen
Nutze Ndiff, um Änderungen zu lesen, ohne jeden Unterschied als Fehler zu behandeln. Bleibe in Terminal. Ndiff vergleicht zwei Nmap-XML-Dateien; es kennt deinen Genehmigungsplan nicht.
Ein Shell-Befehl liefert einen numerischen Exit-Status. $? verweist auf den unmittelbar vorigen Befehl, echo gibt ihn aus. Führe die beiden Zeilen jeder Vergleichsgruppe zusammen aus, damit kein anderer Befehl den Status ersetzt. Vergleiche zunächst den Ausgangsscan mit sich selbst:
ndiff before.xml before.xml
echo $?
Erwarte 0: kein bedeutsamer Unterschied. Ndiff ignoriert reine Unterschiede der Scanzeit. Vergleiche jetzt vorher und nachher. > ersetzt die benannte Datei durch die Standardausgabe des Befehls; nutze nur das bearbeitbare Ziel changes.txt:
ndiff before.xml after.xml > changes.txt
echo $?
Erwarte 1, also gefundene Unterschiede. Dies ist ein beabsichtigter Status ungleich null, kein fehlgeschlagener Vergleich. Fehlende oder unlesbare Eingaben erzeugen Status 2, einen Ausführungsfehler. Korrigiere den Pfad und wiederhole, statt einen fehlenden Bericht als keine Änderung auszulegen.
cat changes.txt
Eine --Zeile beschreibt die frühere Beobachtung, eine +-Zeile die spätere. Lies diese Paare:
-8410/tcp open
+8410/tcp closed
-8420/tcp closed
+8420/tcp open
-8430/tcp open
+8430/tcp closed
-8450/tcp closed
+8450/tcp open
Die echte Ausgabe enthält außerdem Überschriften, Dienstnamen und Titel. Status auf 8440 ist unverändert und wird in der normalen Differenzansicht meist weggelassen. Seine Erhaltungsanforderung musst du trotzdem prüfen. Das alte/neue Anmeldeportpaar kann genehmigt sein, während Katalogverlust und Debug-Exposition die Übergabe blockieren.
Die Geschäfts- und Änderungsprüfung abgeben
Bestätige die tatsächlich migrierten Geschäftsdaten und liefere eine vollständige Bewertung. Bleibe in Terminal. Ein Titel oder offener Port beweist nicht, dass ursprüngliche Datensätze erhalten sind. Lade die vollständige Antwort des neuen Endpunkts herunter:
curl -fsS -o current-business.csv http://127.0.0.4:8420/manifest.csv
cat current-business.csv
cmp vergleicht zwei Dateien Byte für Byte. Bei Übereinstimmung gibt es nichts aus und liefert null:
cmp before-business.csv current-business.csv
Du solltest alle drei ursprünglichen MAKERS-DAY-Anmeldedatensätze und einen erfolgreichen Vergleich sehen. Bei einer falschen URL korrigiere sie und wiederhole den Download. Bearbeite keine Datensätze, um den Vergleich bestehen zu lassen. Ein echter Geschäftsdatenunterschied wäre auch bei gleichen Seitentiteln ein Übergabeproblem.
Die Bewertungs-CSV hat vier Spalten: service, den aktuellen Zustand am alten Port, den aktuellen Zustand am neuen Port und die Entscheidung. Behält ein Element einen festen Port, auch bei keep oder absent, sind alter und neuer Port gleich und die aktuellen Zustände wiederholen sich. Nutze - nur, wenn es keinen alten Port gab; es bedeutet niemals geschlossen. Entscheidungen unterscheiden approved-move, approved-addition, kept, unexpected-loss und unexpected-open. Eine unvollständige alte/neue Migrationsbeziehung wäre migration-incomplete; ein fehlender genehmigter Zusatz missing-addition; ein weiter geschlossener verbotener Endpunkt kept-absent.
Ein here-document mit Anführungszeichen übergibt die folgenden Zeilen wörtlich an cat. > ersetzt nur deine Bewertungsdatei; das abschließende CSV muss allein in seiner Zeile stehen. Schreibe die vier Planelemente:
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
Diese Bewertung fordert, die Übergabe zurückzuhalten: Der genehmigte Umzug funktioniert, aber der erforderliche Katalog fehlt und Debug ist unerwartet exponiert. Die Bewertung ist abgeschlossen, auch wenn der Verantwortliche später reparieren muss. Erhalte diese Belege; stoppe Debug nicht und stelle den Katalog in dieser Aufgabe nicht wieder her.
Nutze abschließend erneut den ursprünglichen Statusdienst:
curl -fsS -o status.csv http://127.0.0.4:8440/manifest.csv
Er muss weiterhin denselben Ready-Datensatz liefern. Erhalte before.xml, before-business.csv, plan.csv und jeden ursprünglichen aktuellen Dienst unverändert.
Zusammenfassung
Du hast vergleichbare Nmap-Belege erfasst, Ndiff-Exit-Status interpretiert, vollständige migrierte Geschäftsdaten bestätigt und jede Genehmigungsbeziehung geprüft. Genehmigte Unterschiede, unerwartete Öffnungen und verlorene Pflichtdienste sind verschiedene Befunde. Eine genaue Bewertung kann die Übergabe zurückhalten und dabei den ursprünglichen Zustand erhalten.



