Difference between revisions of "Kommandozeilenwerkzeuge"

From
Jump to: navigation, search
(arp)
(termshark Spickzettel)
Line 531: Line 531:
 
<pre>
 
<pre>
 
Termshark Spickzettel (Linux / Terminal)
 
Termshark Spickzettel (Linux / Terminal)
1️⃣ Starten von Termshark
+
 
 +
### Starten von Termshark
 
Zweck Befehl / Option
 
Zweck Befehl / Option
 
Live Capture auf Interface termshark -i eth0
 
Live Capture auf Interface termshark -i eth0
Line 539: Line 540:
 
Capture mit BPF-Filter termshark -i eth0 -f "tcp port 80"
 
Capture mit BPF-Filter termshark -i eth0 -f "tcp port 80"
 
Display-Filter beim Start termshark -r file.pcap -Y "http"
 
Display-Filter beim Start termshark -r file.pcap -Y "http"
2️⃣ Display-Filter (Wireshark-artig)
+
 
 +
 
 +
### Display-Filter (Wireshark-artig)
 
Filter Beispiel
 
Filter Beispiel
 
TCP-Port tcp.port == 443
 
TCP-Port tcp.port == 443
Line 549: Line 552:
 
Filter löschen: Ctrl+L
 
Filter löschen: Ctrl+L
  
3️⃣ Navigation & Paketansicht
+
 
 +
### Navigation & Paketansicht
 
Aktion Shortcut / Methode
 
Aktion Shortcut / Methode
 
Pakete scrollen ↑ / ↓
 
Pakete scrollen ↑ / ↓
Line 557: Line 561:
 
Payload als Hex/ASCII In Detailansicht anzeigen
 
Payload als Hex/ASCII In Detailansicht anzeigen
 
Feld kopieren y
 
Feld kopieren y
4️⃣ Suche
+
 
 +
 
 +
### Suche
 
Aktion Shortcut / Methode
 
Aktion Shortcut / Methode
 
Text / Pattern suchen Ctrl+F
 
Text / Pattern suchen Ctrl+F
 
Nächste Übereinstimmung n
 
Nächste Übereinstimmung n
 
Vorherige Übereinstimmung Shift+n
 
Vorherige Übereinstimmung Shift+n
5️⃣ Markieren & Sortieren
+
 
 +
 
 +
### Markieren & Sortieren
 
Aktion Shortcut / Methode
 
Aktion Shortcut / Methode
 
Paket markieren m
 
Paket markieren m
 
Markierungen löschen Shift+M
 
Markierungen löschen Shift+M
 
Sortierung nach Spalte Spaltenkopf auswählen / Pfeiltasten
 
Sortierung nach Spalte Spaltenkopf auswählen / Pfeiltasten
6️⃣ Capture beenden
+
 
 +
 
 +
### Capture beenden
 
Aktion Methode
 
Aktion Methode
 
Live Capture stoppen q
 
Live Capture stoppen q
7️⃣ Shortcuts – Übersicht (TUI)
+
 
 +
 
 +
### Shortcuts – Übersicht (TUI)
 
Shortcut Funktion
 
Shortcut Funktion
 
↑ / ↓ Scroll Pakete
 
↑ / ↓ Scroll Pakete
Line 584: Line 596:
 
y Feld kopieren
 
y Feld kopieren
 
q Beenden
 
q Beenden
8️⃣ Tipps
+
 
 +
 
 +
### Tipps
  
 
Live Capture: Filter möglichst früh setzen (-f), um Datenmenge zu reduzieren
 
Live Capture: Filter möglichst früh setzen (-f), um Datenmenge zu reduzieren
Line 596: Line 610:
 
Große Captures: Mit -r file.pcap arbeiten, statt alles live zu sehen
 
Große Captures: Mit -r file.pcap arbeiten, statt alles live zu sehen
  
💡 Extra Tipp: Du kannst Termshark auch über SSH auf einem Server nutzen und die .pcap-Dateien danach auf deinem Laptop mit Wireshark öffnen – perfekte Kombination aus Terminalanalyse und GUI.
+
 
 +
### Extra Tipp: Du kannst Termshark auch über SSH auf einem Server nutzen  
 +
    und die .pcap-Dateien danach auf deinem Laptop mit Wireshark öffnen.
 
</pre>
 
</pre>
 
  
 
=== arp ===
 
=== arp ===

Revision as of 08:13, 15 January 2026

Kommandozeilenwerkzeuge

ip

Der Befehl ip (Teil von iproute2) ersetzt ifconfig, route, arp & Co.


### Allgemeine Syntax
   ip [OPTIONEN] OBJEKT BEFEHL


Typische Objekte:

addr (oder a) → IP-Adressen

link (oder l) → Interfaces

route (oder r) → Routing

neigh (oder n) → ARP / Neighbor

rule → Policy Routing


### Interfaces (Link-Ebene)
Alle Interfaces anzeigen
ip link show
ip l

Einzelnes Interface anzeigen
ip link show eth0

Interface aktivieren / deaktivieren
ip link set eth0 up
ip link set eth0 down

MTU setzen
ip link set eth0 mtu 1500

MAC-Adresse ändern
ip link set eth0 address aa:bb:cc:dd:ee:ff


### IP-Adressen (Layer 3)
IP-Adressen anzeigen
ip addr show
ip a

IP-Adresse hinzufügen
ip addr add 192.168.1.10/24 dev eth0

IP-Adresse löschen
ip addr del 192.168.1.10/24 dev eth0

Nur IPv4 / IPv6
ip -4 addr
ip -6 addr


### Routing
Routing-Tabelle anzeigen
ip route show
ip r

Default-Gateway setzen
ip route add default via 192.168.1.1

Route zu Netz hinzufügen
ip route add 10.0.0.0/24 via 192.168.1.254

Route löschen
ip route del 10.0.0.0/24


### ARP / Neighbor-Tabelle
Nachbarn anzeigen
ip neigh show
ip n

ARP-Eintrag hinzufügen
ip neigh add 192.168.1.20 lladdr aa:bb:cc:dd:ee:ff dev eth0

ARP-Eintrag löschen
ip neigh del 192.168.1.20 dev eth0

ARP-Cache leeren
ip neigh flush all


### Policy Routing (Grundlagen)
Routing-Regeln anzeigen
ip rule show

Regel hinzufügen
ip rule add from 192.168.2.0/24 table 100

Tabelle anzeigen
ip route show table 100


### Netzwerk-Namespaces
Namespaces anzeigen
ip netns list

Namespace erstellen
ip netns add testns

Befehl im Namespace ausführen
ip netns exec testns ip addr


### Monitoring & Debugging
Link-Status live beobachten
ip monitor

Nur Adress-Änderungen
ip monitor addr


### Häufige Kurzformen (sehr gebräuchlich)
Langform	Kurz
ip addr	        ip a
ip link	        ip l
ip route	ip r
ip neigh	ip n


### Vergleich zu alten Befehlen
Alt	        Neu
ifconfig	ip addr, ip link
route	        ip route
arp	        ip neigh
brctl	        ip link


### Wichtige Hinweise 

Änderungen sind nicht persistent

Dauerhafte Konfiguration:

NetworkManager

systemd-networkd

/etc/network/interfaces

ip ist IPv4 & IPv6-fähig

Skript-tauglich & konsistent


### Mini-Spickzettel 
ip a          # Adressen
ip l          # Interfaces
ip r          # Routing
ip n          # ARP
ip monitor    # Live-Events


ifconfig

ifconfig gehört zum veralteten Paket net-tools. 
Es wird durch ip (iproute2) ersetzt. 

### Interfaces anzeigen
Alle aktiven Interfaces
ifconfig

Alle Interfaces (auch inaktive)
ifconfig -a

### Einzelnes Interface anzeigen
ifconfig eth0

### Interface aktivieren / deaktivieren
Aktivieren
ifconfig eth0 up

Deaktivieren
ifconfig eth0 down

### IP-Adresse setzen (IPv4)
IP-Adresse zuweisen
ifconfig eth0 192.168.1.10

Mit Netzmaske
ifconfig eth0 192.168.1.10 netmask 255.255.255.0

Mit Broadcast-Adresse
ifconfig eth0 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255


!!! Nicht persistent – gilt nur bis zum Neustart oder Interface-Reset.

### MAC-Adresse ändern
MAC-Adresse setzen
ifconfig eth0 hw ether aa:bb:cc:dd:ee:ff
(Oft muss das Interface vorher down sein)


### MTU setzen
ifconfig eth0 mtu 1500


### Promiscuous Mode
Aktivieren
ifconfig eth0 promisc

Deaktivieren
ifconfig eth0 -promisc


### Statistik anzeigen
ifconfig eth0


### Loopback konfigurieren (selten nötig)
ifconfig lo 127.0.0.1 up



### Moderne Entsprechung (empfohlen)
ifconfig	                ip
ifconfig	                ip addr show
ifconfig -a	                ip link show
ifconfig eth0 up	        ip link set eth0 up
ifconfig eth0 down	        ip link set eth0 down
ifconfig eth0 192.168.1.10	ip addr add 192.168.1.10/24 dev eth0
ifconfig eth0 mtu 1500	        ip link set eth0 mtu 1500



### Empfehlung 

Nur zum Lesen / Legacy: ifconfig

Aktiv konfigurieren: ip

Skripte neu schreiben: iproute2


tcpdump

Standard-Werkzeug zur Paketmitschnitt-Analyse

### Grundsyntax
tcpdump [OPTIONEN] [FILTER]

### Interfaces & Basisoptionen
Verfügbare Interfaces anzeigen
tcpdump -D

Auf bestimmtem Interface mitschneiden
tcpdump -i eth0

Alle Interfaces (Linux)
tcpdump -i any

Ohne Namensauflösung (empfohlen)
tcpdump -n

MAC-Adressen anzeigen
tcpdump -e


### Ausgabe steuern
Mehr Details (Verbose)
tcpdump -v
tcpdump -vv
tcpdump -vvv

Nur Header, kein Payload
tcpdump -q

Paketinhalt anzeigen (ASCII / HEX)
tcpdump -A      # ASCII
tcpdump -X      # HEX + ASCII

Paketlänge begrenzen (Snaplen)
tcpdump -s 96


### Paketanzahl & Laufzeit
Anzahl begrenzen
tcpdump -c 100

Zeitstempel anzeigen
tcpdump -tttt


### Mitschnitt in Datei (pcap)
In Datei schreiben
tcpdump -w capture.pcap

Aus Datei lesen
tcpdump -r capture.pcap

Rotierende Dateien
tcpdump -w dump.pcap -G 60 -W 10


### Klassische Filter (BPF)
Nach Protokoll
tcpdump tcp
tcpdump udp
tcpdump icmp
tcpdump arp

Nach Host
tcpdump host 192.168.1.10
tcpdump src host 192.168.1.10
tcpdump dst host 192.168.1.10

Nach Port
tcpdump port 80
tcpdump tcp port 443

Nach Netz
tcpdump net 192.168.1.0/24


### Kombinierte Filter
AND / OR / NOT
tcpdump tcp and port 22
tcpdump host 192.168.1.10 and not port 22
tcpdump tcp port 80 or port 443


### TCP-spezifische Filter
SYN-Pakete
tcpdump 'tcp[tcpflags] & tcp-syn != 0'

SYN ohne ACK (Verbindungsaufbau)
tcpdump 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0'

RST-Pakete
tcpdump 'tcp[tcpflags] & tcp-rst != 0'


### Typische Praxisbeispiele 
„Kommt Traffic an?“
tcpdump -i eth0 -n icmp

HTTP-Traffic sehen
tcpdump -i eth0 -n tcp port 80

DNS-Abfragen debuggen
tcpdump -i eth0 -n udp port 53

ARP-Probleme analysieren
tcpdump -i eth0 -n -e arp


### Performance & Sicherheit
Nur erste Pakete ansehen
tcpdump -c 20

Payload komplett mitschneiden
tcpdump -s 0

Root vermeiden (Capabilities)
sudo setcap cap_net_raw,cap_net_admin=eip $(which tcpdump)


### Häufige Stolperfallen 

Ohne -n → langsame DNS-Lookups

Große Mitschnitte ohne -c / -G

-s 0 erzeugt sehr große Dateien

Traffic auf lo nicht vergessen


### Mini-Spickzettel 🧾
tcpdump -i eth0 -n
tcpdump -i any icmp
tcpdump -w file.pcap
tcpdump -r file.pcap
tcpdump tcp port 443

termshark

Termshark ist im Grunde ein Terminal-basiertes Wireshark für Linux, 
das auf tshark aufsetzt, aber mit einer interaktiven TUI (Text User Interface) arbeitet. 
Damit kann man Netzwerkpakete live mitschneiden, filtern und analysieren, 
ohne eine grafische Oberfläche zu brauchen.


### Starten von Termshark
Live Capture auf Interface
termshark -i eth0


-i → Interface

Listet beim Start alle verfügbaren Interfaces auf, wenn keines angegeben ist.

Aus pcap-Datei öffnen
termshark -r capture.pcap


-r → read from file


### Interface-Auswahl & Optionen
Liste der Interfaces anzeigen
termshark -D

Capture mit BPF-Filter
termshark -i eth0 -f "tcp port 80"


-f → BPF-Filter (wie bei tcpdump)

Capture nur bestimmte Pakete speichern
termshark -i eth0 -w output.pcap


-w → write to file


### Navigation im Interface

Pfeiltasten ↑↓ → durch Pakete scrollen

Enter → Details eines Pakets aufklappen

Tab → zwischen Packet List / Packet Details / Packet Bytes wechseln

q → beenden


### Filtern
Display-Filter

Funktioniert wie Wireshark (nicht BPF)

tcp.port == 443
ip.addr == 192.168.1.10
http


Tastenkombination: / → Filter eingeben

Filter kann live angepasst werden

Filter löschen

Ctrl+L → Clear Filter


### Paket-Detailansicht

Enter auf Paket → Details aufklappen

Pfeil rechts/links → Layer auf-/zuklappen

Hexdump → Payload anzeigen

Copy Field → Tastenkombination y → kopiert ausgewähltes Feld


### Speichern & Exportieren

Pcap speichern während Capture → -w filename.pcap

Export Packet Bytes / Fields → im Menü möglich


### Suchen

Suchen nach Text/Byte-Mustern → Ctrl+F

Beispiel: alle Pakete mit HTTP/1.1 im Payload finden


### Sortierung & Markierung

Pakete können nach Spalten sortiert werden (Src, Dst, Protocol)

Markieren für spätere Analyse → m

Clear Marks → Shift+M


### Typische Praxis-Beispiele
HTTP-Traffic live analysieren
termshark -i eth0 -f "tcp port 80"

DNS-Abfragen aus PCAP untersuchen
termshark -r capture.pcap -Y "dns"

Nur bestimmte IPs filtern
termshark -i eth0 -Y "ip.addr == 192.168.1.10"


### Nützliche Shortcuts (TUI)
Shortcut	Funktion
↑↓	Scroll Pakete
Enter	Paketdetails aufklappen
Tab	Zwischen Views wechseln
/	Display-Filter eingeben
Ctrl+F	Suchen
Ctrl+L	Filter löschen
m	Paket markieren
y	Feld kopieren
q	Beenden


### Unterschiede zu Wireshark

Terminal-basiert, kein GUI

Nutzt Tshark als Engine

Unterstützt alle Wireshark-Displayfilter

Ideal für Server ohne GUI oder SSH-Sessions

termshark Spickzettel

Termshark Spickzettel (Linux / Terminal)

### Starten von Termshark
Zweck	Befehl / Option
Live Capture auf Interface	termshark -i eth0
Capture auf allen Interfaces anzeigen	termshark -D
Capture aus Datei lesen	termshark -r capture.pcap
Pakete während Capture speichern	termshark -i eth0 -w output.pcap
Capture mit BPF-Filter	termshark -i eth0 -f "tcp port 80"
Display-Filter beim Start	termshark -r file.pcap -Y "http"


### Display-Filter (Wireshark-artig)
Filter	Beispiel
TCP-Port	tcp.port == 443
IP-Adresse	ip.addr == 192.168.1.10
Nur Protokoll	http / dns / icmp
Kombination	ip.src == 192.168.1.10 and tcp.port == 80

Shortcut für Filtereingabe: /
Filter löschen: Ctrl+L


### Navigation & Paketansicht
Aktion	Shortcut / Methode
Pakete scrollen	↑ / ↓
Paketdetails aufklappen	Enter
Layer auf-/zuklappen	→ / ←
Zwischen Views wechseln	Tab (Packet List / Details / Bytes)
Payload als Hex/ASCII	In Detailansicht anzeigen
Feld kopieren	y


### Suche
Aktion	Shortcut / Methode
Text / Pattern suchen	Ctrl+F
Nächste Übereinstimmung	n
Vorherige Übereinstimmung	Shift+n


### Markieren & Sortieren
Aktion	Shortcut / Methode
Paket markieren	m
Markierungen löschen	Shift+M
Sortierung nach Spalte	Spaltenkopf auswählen / Pfeiltasten


### Capture beenden
Aktion	Methode
Live Capture stoppen	q


### Shortcuts – Übersicht (TUI)
Shortcut	Funktion
↑ / ↓	Scroll Pakete
Enter	Paketdetails aufklappen
→ / ←	Layer auf-/zuklappen
Tab	Zwischen Views wechseln
/	Display-Filter eingeben
Ctrl+L	Filter löschen
Ctrl+F	Suchen
n / Shift+n	Nächste / vorherige Übereinstimmung
m	Paket markieren
Shift+M	Markierungen löschen
y	Feld kopieren
q	Beenden


### Tipps

Live Capture: Filter möglichst früh setzen (-f), um Datenmenge zu reduzieren

Display-Filter vs. BPF-Filter:

-f "tcp port 80" → nur Pakete auf Interface aufnehmen

-Y "tcp.port == 80" → nachträglich filtern

Große Captures: Mit -r file.pcap arbeiten, statt alles live zu sehen


### Extra Tipp: Du kannst Termshark auch über SSH auf einem Server nutzen 
    und die .pcap-Dateien danach auf deinem Laptop mit Wireshark öffnen.

arp

Übersetzt IP-Adressen in MAC-Adressen

### Klassischer ARP-Befehl (arp)
    Teil des Pakets net-tools (gilt als deprecated, aber oft noch installiert)

ARP-Tabelle anzeigen
arp
arp -n    //-n → keine Namensauflösung (schneller, übersichtlicher)

ARP-Eintrag hinzufügen
arp -s 192.168.1.10 aa:bb:cc:dd:ee:ff

ARP-Eintrag löschen
arp -d 192.168.1.10

Bestimmtes Interface nutzen
arp -i eth0


### Moderner Ersatz: ip neigh (empfohlen)
    Teil von iproute2 – heute Standard auf Linux

Nachbarn (ARP / NDP) anzeigen
ip neigh show  oder kurz: ip n

ARP-Eintrag hinzufügen
ip neigh add 192.168.1.10 lladdr aa:bb:cc:dd:ee:ff dev eth0

ARP-Eintrag ändern
ip neigh replace 192.168.1.10 lladdr aa:bb:cc:dd:ee:ff dev eth0

ARP-Eintrag löschen
ip neigh del 192.168.1.10 dev eth0

ARP-Cache leeren
ip neigh flush all


### ARP-Pakete aktiv senden: arping
    Sehr nützlich für Tests und Fehlersuche

Erreichbarkeit prüfen (Layer 2)
arping 192.168.1.1

Interface festlegen
arping -I eth0 192.168.1.1

Gratuitous ARP senden
arping -U 192.168.1.10


### Netzwerk-Diagnose & Analyse
ARP-Traffic mitschneiden
tcpdump -n -e arp

ARP-Tabelle über /proc anzeigen
cat /proc/net/arp


### Typische ARP-Statuswerte (bei ip neigh)

Status	         Bedeutung
REACHABLE	 Host erreichbar
STALE	         Eintrag alt, wird geprüft
DELAY	         Prüfung geplant
INCOMPLETE	 ARP-Antwort fehlt
FAILED	         ARP fehlgeschlagen
PERMANENT	 Statischer Eintrag
<pre>


=== ethtool ===
<pre>
Kommando               Funktion
ethtool eth0           Status und Einstellungen auf der 
                       Bitüberragungsschicht ausgeben

ethtool -P eth0        MAC-Adresse ausgeben

ethtool -S eth0        Statistische Daten ausgeben

ethtool -i eth0        Informationen zu Treiber und Firmware

ethtool -p eth0        LED blinken lassen

iftop

Überwachung des Datenverkehrs in Echtzeit

iftop -i eth0