honorsolutions.de


Modul 8

Modul 8 · Linux praktisch nutzen

Technische Daten im Terminal sicher finden und untersuchen

Du kennst bereits die grundlegende Orientierung auf einem Linux-System. Jetzt lernst du, Linux als Werkzeug für technische Analyse zu verwenden: Dateien einordnen, große Datenbestände kontrolliert betrachten, gezielt suchen, Ergebnisse reduzieren, zählen und sichern.

Pfade · Dateien · Größenless · head · tail · grepPipe · sort · uniq · find
Lernziel: Du kannst nach diesem Modul einen einfachen technischen Auftrag im Terminal strukturiert bearbeiten – von der Orientierung über die Suche bis zum gesicherten Ergebnis.
01 · Orientierung vertiefen

Dateisystem und Pfade sicher lesen

Technische Analyse beginnt oft damit, den richtigen Datenbestand zu finden. Deshalb musst du verstehen, wie Linux Dateien und Verzeichnisse strukturiert.

8.1

Das gemeinsame Wurzelverzeichnis

Linux verwendet normalerweise keine Laufwerksbuchstaben wie C: oder D:. Die Verzeichnisstruktur beginnt am Root-Verzeichnis /.

/
├── home
├── etc
├── var
│   └── log
├── tmp
└── data
    ├── case01
    ├── case02
    └── captures
8.2

Wichtige Verzeichnisse einordnen

/home enthält typischerweise Benutzerverzeichnisse, /etc häufig Konfigurationen, /var/log oft Logdateien. Analyseumgebungen verwenden zusätzlich häufig eigene Datenpfade wie /data.

/home/analyst      Benutzerbereich
/etc               Konfigurationen
/var/log           Logs
/tmp               temporäre Daten
/data              Analyse- und Falldaten
8.3

Absolute und relative Pfade

Ein absoluter Pfad beginnt immer bei /. Ein relativer Pfad beginnt an deinem aktuellen Standort.

ABSOLUT
/data/case01/network.log

RELATIV bei aktuellem Verzeichnis /data
case01/network.log
Merksatz: Wenn ein Befehl eine Datei nicht findet, prüfe zuerst Standort, Pfad und Dateinamen.
8.4

., .. und ~

.     aktuelles Verzeichnis
..    übergeordnetes Verzeichnis
~     eigenes Home-Verzeichnis

cd ..
cd ~

Diese drei Schreibweisen begegnen dir sehr häufig und helfen bei der Navigation ohne lange Pfade.

02 · Datenbestand verstehen

Dateien nach Typ, Größe und Sichtbarkeit einordnen

Bevor du Daten analysierst, solltest du wissen, womit du es zu tun hast.

8.5

Mehr Informationen mit ls -l

-rw-r----- 1 analyst analysts 18342 Sep 15 09:14 connections.log
drwxr-x--- 2 analyst analysts  4096 Sep 15 09:20 captures

Du erkennst unter anderem Dateityp, Rechte, Eigentümer, Größe, Änderungszeit und Namen.

8.6

Größen lesbar anzeigen

ls -lh stellt Größen verständlicher dar.

18K   connections.log
902K  dns.log
47M   traffic.log
1.8G  capture.pcap

Bei großen Dateien solltest du nicht automatisch den gesamten Inhalt ausgeben.

8.7

Versteckte Dateien

Einträge, deren Name mit einem Punkt beginnt, werden häufig ausgeblendet. Mit ls -a werden sie sichtbar.

.profile
.bashrc
.config
8.8

Dateityp mit file prüfen

Eine Dateiendung ist nur ein Hinweis. Mit file kann Linux versuchen, den tatsächlichen Typ einzuordnen.

file traffic.pcap
file export.dat
03 · Große Daten kontrolliert lesen

Nicht jede Datei wird mit cat geöffnet

Für technische Massendaten brauchst du Werkzeuge, mit denen du gezielt statt vollständig liest.

8.9

cat nur für kleine Dateien

cat notes.txt ist für kurze Inhalte praktisch. Eine Datei mit hunderttausenden Zeilen würde jedoch vollständig durch das Terminal laufen.

8.10

Große Dateien mit less

less connections.log

Pfeile      navigieren
Leertaste   weiterblättern
b           zurückblättern
/BEGRIFF    suchen
n           nächster Treffer
q           beenden

Damit kannst du große Textdateien kontrolliert untersuchen.

8.11

Mit head den Aufbau erkennen

head -n 5 connections.log

timestamp source destination port protocol
10:14:21 192.168.10.24 203.0.113.25 443 TCP

Die ersten Zeilen verraten oft, wie eine Datei aufgebaut ist und welche Felder enthalten sind.

8.12

Mit tail die jüngsten Einträge prüfen

tail system.log

tail -f system.log

CTRL + C   laufende Anzeige beenden

tail -f eignet sich, um zu beobachten, ob eine Logdatei neue Einträge erhält.

05 · Befehle kombinieren

Aus Einzelbefehlen wird eine Verarbeitungskette

Mit einer Pipe wird die Ausgabe eines Befehls direkt an den nächsten Befehl weitergegeben.

8.17

Die Pipe |

grep "203.0.113.25" connections.log | grep "443"

Datei
  ↓
Filter 1: IP-Adresse
  ↓
Filter 2: Port 443
  ↓
Endergebnis
8.18

Sortieren mit sort

sort hosts.txt

server03      server01
server01  →   server01
server02      server02
server01      server03
8.19

Mehrfachvorkommen mit uniq

sort hosts.txt | uniq

server01
server02
server03

uniq arbeitet am zuverlässigsten mit bereits sortierten Daten.

8.20

Häufigkeiten mit uniq -c

sort hosts.txt | uniq -c

3 server01
1 server02
7 server03

Damit wird aus einer Liste bereits eine einfache Aggregation.

8.21

Zeilen mit wc -l zählen

wc -l connections.log
548213 connections.log

Die Anzahl von Zeilen hilft dir, die Größenordnung eines Datenbestandes einzuschätzen.

06 · Daten und laufende Prozesse finden

Wenn der Speicherort oder der Prozess unbekannt ist

Nicht immer weißt du, wo eine Datei liegt oder ob ein bestimmtes Programm läuft.

8.22

Dateien mit find suchen

find /data -name "connections.log"

/data/case01/logs/connections.log
8.23

Dateitypen mit Platzhaltern finden

find /data -name "*.log"
find /data -name "*.pcap"
find /data -name "*.pcapng"

Das Sternchen steht als Platzhalter für beliebige Zeichen.

8.24

Prozesse mit ps anzeigen

ps aux

USER       PID   COMMAND
analyst   1204   bash
zeek      2317   zeek
root       845   sshd
8.25

Prozessliste filtern

ps aux | grep zeek

Auch hier bleibt die Logik gleich: Datenquelle erzeugt Ausgabe, Pipe übergibt sie an einen Filter.

07 · Fehler verstehen und Ergebnisse sichern

Fehlermeldungen lesen statt raten

Fehlermeldungen gehören zur Arbeit im Terminal. Sie helfen dir, das Problem einzugrenzen.

8.26

No such file or directory

Mögliche Ursachen sind ein falscher Dateiname, ein falsches Verzeichnis oder ein falscher Pfad.

pwd
ls
find /data -name "network.log"
8.27

Permission denied

Die Datei oder Funktion kann vorhanden sein, aber dein Benutzer besitzt möglicherweise nicht die notwendigen Rechte.

8.28

Command not found

Häufig ist ein Befehl falsch geschrieben oder das angeforderte Programm ist auf dem System nicht verfügbar.

Arbeitsregel: Eine Fehlermeldung wird zuerst verstanden. Höhere Rechte sind nicht automatisch die richtige Antwort.
8.29

Ergebnisse mit > speichern

grep "ERROR" system.log > errors.txt

Die Ausgabe wird in eine Datei geschrieben. Bestehender Inhalt kann dabei überschrieben werden.

8.30

Ergebnisse mit >> anhängen

grep "WARNING" system.log >> findings.txt

Neue Ergebnisse werden an eine bestehende Datei angehängt.

08 · Denkfallen

Vier typische Fehler beim Arbeiten mit Linux-Daten

Öffne alle vier Karten.

0 von 4 erkundet
09 · Gesamtmodell

Vom Datenbestand zum gesicherten Ergebnis

Klicke dich durch den vollständigen Arbeitsablauf.

1 · ZUM FALLVERZEICHNIS WECHSELN
2 · DATEIEN UND GRÖSSEN PRÜFEN
3 · DATEIAUFBAU EINSCHÄTZEN
4 · RELEVANTE TREFFER SUCHEN
5 · TREFFER REDUZIEREN / ZÄHLEN
6 · ERGEBNIS SICHERN
Grundprinzip: Erst orientieren, dann Daten einordnen, anschließend filtern und erst am Ende das Ergebnis sichern.
10 · Übungsfall

Ein vollständiger Linux-Analyseauftrag

Im Verzeichnis /data/spice/case08 liegen technische Daten. Gesucht wird die IP-Adresse 198.51.100.42. Zusätzlich soll geprüft werden, welche Treffer Port 443 enthalten.

A

Zum Fall wechseln

cd /data/spice/case08
B

Dateien und Größen prüfen

ls -lh

24M  connections.log
7M   dns.log
340K notes.txt
C

Dateiaufbau prüfen

head -n 5 connections.log
D

IP-Adresse suchen

grep "198.51.100.42" connections.log
E

Treffer zählen

grep -c "198.51.100.42" connections.log
F

Zusätzlich auf Port 443 filtern

grep "198.51.100.42" connections.log | grep "443"
G

Treffer sichern

grep "198.51.100.42" connections.log > case08_findings.txt
11 · Praxis

Befehle und Arbeitsschritte sicher zuordnen

Ordne alle zwölf Aufgaben korrekt zu.

Navigation und Dateien

Zeigt den aktuellen Pfad an.
Zeigt Dateien mit lesbaren Größenangaben.
Wechselt eine Ebene nach oben.

Lesen und Beobachten

Geeignet zum kontrollierten Lesen einer großen Textdatei.
Zeigt die ersten Zeilen einer Datei.
Beobachtet neue Logeinträge fortlaufend.

Suchen und reduzieren

Sucht nach einer Zeichenfolge in einer Datei.
Verbindet die Ausgabe eines Befehls mit einem weiteren.
Zählt Zeilen einer Datei.

Finden und sichern

Sucht Dateien innerhalb einer Verzeichnisstruktur.
Schreibt eine Ausgabe neu in eine Datei.
Hängt eine Ausgabe an eine bestehende Datei an.
12 · Wissenscheck

Wissenscheck – Modul 8

Für den vollständigen Modulabschluss müssen alle zwölf Antworten korrekt sein.

1. Was beschreibt einen absoluten Pfad?
2. Welcher Befehl eignet sich besonders für große Textdateien?
3. Was zeigt head typischerweise?
4. Wofür wird grep verwendet?
5. Was bewirkt eine Pipe?
6. Warum werden sort und uniq häufig kombiniert?
7. Was bewirkt wc -l?
8. Mit welchem Befehl suchst du Dateien in einer Verzeichnisstruktur?
9. Was bedeutet Permission denied am ehesten?
10. Was bewirkt >?
11. Welcher Befehl eignet sich, um zu prüfen, ob ein Prozessname in der Prozessliste vorkommt?
12. Was ist das zentrale Ziel dieses Moduls?
13 · Transfer & Abschluss

Vom Terminal zur technischen Datenanalyse

Du kannst dich nun nicht nur auf einem Linux-System orientieren, sondern einen einfachen technischen Datenbestand strukturiert untersuchen.

ORIENTIEREN · pwd · ls · cd
DATEIEN EINSCHÄTZEN · ls -lh · file
INHALTE LESEN · less · head · tail
DATEN FINDEN · grep · find
DATEN REDUZIEREN · Pipe · sort · uniq · wc
ERGEBNIS SICHERN · > · >>
NÄCHSTER SCHRITT · LOGS UND TECHNISCHE DATEN VERSTEHEN
Zum Mitnehmen: Linux ist für die technische Analyse vor allem eine Arbeitsumgebung. Entscheidend ist nicht das Auswendiglernen vieler Befehle, sondern eine belastbare Arbeitslogik: finden, prüfen, lesen, filtern, reduzieren und sichern.
Weiter zu Modul 9
SPICE Lernfortschritt0%35 XP erst nach dem Abschluss-Klick