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=host oder 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.pcap wird 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 60 für 60 Sekunden).