ngrep - Netzwerkpakete grep-artig filtern

ngrep

Netzwerk-Grep-Tool im Docker-Container — Pakete nach Mustern filtern und inspizieren.

Was ist ngrep?

ngrep ist ein Kommandozeilen-Tool, das Netzwerkpakete in Echtzeit erfasst und wie grep nach regulären Ausdrücken filtert. Es zeigt den Payload von TCP-, UDP- und ICMP-Paketen leserlich an und eignet sich hervorragend für die schnelle Fehlersuche bei HTTP-Traffic, DNS-Anfragen oder anderen Protokollen ohne verschlüsselten Overhead. Das Docker-Image von cloudgear verpackt ngrep mit allen Abhängigkeiten und ermöglicht den Einsatz direkt auf dem Docker-Host.

Voraussetzungen

  • Docker 20.10+
  • --net=host oder Zugriff auf das Ziel-Netzwerk-Interface
  • Root-Rechte oder CAP_NET_RAW

Compose-Beispiel

services:
  ngrep:
    image: cloudgear/ngrep:latest
    container_name: ngrep
    restart: "no"
    network_mode: host
    cap_add:
      - NET_RAW
      - NET_ADMIN
    command: -d eth0 -W byline "GET|POST" "tcp"

Hinweise

  • network_mode: host ist notwendig, um direkt auf die Netzwerkinterfaces des Hosts zuzugreifen.
  • Der Container ist als einmaliges Analyse-Tool gedacht — restart: "no" verhindert automatischen Neustart.
  • Für interaktiven Einsatz: docker run --rm --net=host --cap-add NET_RAW cloudgear/ngrep -d eth0 port 80.
  • ngrep kann nicht mit verschlüsseltem TLS-Traffic umgehen — für HTTPS-Analyse ist ein Proxy-basiertes Mitschnitt-Tool besser geeignet.