tcpdump - Netzwerktraffic im Container analysieren
tcpdump
Klassisches Netzwerk-Analyse-Tool tcpdump als Docker-Container für schnelle Paketmitschnitte.
Was ist tcpdump?
tcpdump ist das bewährteste Kommandozeilen-Tool für Netzwerk-Paketmitschnitte unter Linux. Es erfasst Pakete auf einem Netzwerkinterface und zeigt sie entweder in Echtzeit an oder schreibt sie als .pcap-Datei, die später in Wireshark geöffnet werden kann. Das Docker-Image von cloudgear macht tcpdump ohne lokale Installation sofort auf jedem Docker-Host verfügbar — besonders nützlich bei minimalen Server-Installationen ohne viele Diagnosetools.
Voraussetzungen
- Docker 20.10+
--net=hostoder Zugriff auf das gewünschte Netzwerk-Interface- Root-Rechte oder
CAP_NET_RAW
Compose-Beispiel
services:
tcpdump:
image: cloudgear/tcpdump:latest
container_name: tcpdump
restart: "no"
network_mode: host
cap_add:
- NET_RAW
- NET_ADMIN
volumes:
- ./captures:/captures
command: -i eth0 -w /captures/dump.pcap port 80
Hinweise
- Das
captures-Volume ermöglicht, PCAP-Dateien aus dem Container auf den Host zu schreiben. - Für interaktiven Einsatz:
docker run --rm --net=host --cap-add NET_RAW cloudgear/tcpdump -i eth0 -nn. - Mit
-w /captures/dump.pcapwird der Mitschnitt als Datei gespeichert, die in Wireshark analysiert werden kann. - Der Container sollte nach dem Mitschnitt manuell gestoppt oder mit einem Timeout versehen werden (
-G 60für 60 Sekunden).
Links
- GitHub
- Dokumentation
- Hintergrundartikel zu Linux-Netzwerken und Paketanalyse: nolr.nexon.cyou