2016-08-11 2 views
2

Ich schaue mich um eine Dokumentation auf tcpdump Interna, aber ich habe noch nichts gefunden. Also meine Frage ist, wie aufdringlich ist tcpdump auf einem Computer. Wie kann man die Menge der Ressourcen (Speicher oder CPU) auswerten, die für die Analyse des Datenverkehrs bestimmt sind?Wie aufdringlich ist tcpdump?

Antwort

1

Soweit ich lese, tcpdump konsumieren es ist irgendwie variabel je nachdem, was Sie fragen.

Um zu sehen, wie viele Ressourcen Ihr tcpdump-Prozess verbraucht, beobachten Sie einfach den Systemmonitor wie topTop Manual.

tcpdump Ausgabe kann erheblich sein, wenn der Netzwerkverkehr Ihre Ausdruck definiert ist hohe Bandbreite; vor allem, wenn Sie mehr als die standardmäßigen 68 Bytes Paketinhalt erfassen.

Das Erfassen von Paketen, die sich beispielsweise auf einen großen Dateitransfer beziehen, oder ein Webserver, der aktiv von Hunderten oder Tausenden von Clients verwendet wird, erzeugt eine überwältigende Menge an Ausgabe. Wenn Sie diese Ausgabe auf stdout schreiben, werden Sie wahrscheinlich keine Befehle in Ihrem Terminal eingeben können. Wenn Sie in eine Datei schreiben, können Sie den Speicherplatz des Hosts erschöpfen. In beiden Fällen wird tcpdump wahrscheinlich auch sehr viel CPU- und Speicherressourcen verbrauchen.

Um diese Probleme zu vermeiden;

  • Seien Sie sehr vorsichtig, wenn Sie Ausdrücke spezifizieren und versuchen, sie so spezifisch wie möglich zu machen.
  • Nicht erfassen bei starkem Verkehr/Belastung.
  • Wenn Sie den gesamten Paketinhalt erfassen möchten, führen Sie eine Testaufzeichnung durch, erfassen Sie zuerst die Standardwerte von 68Bytes und stellen Sie fest, ob das System mit der vollständigen Paketinhaltserfassung zurechtkommt (
    ).
  • Beim Schreiben auf die Festplatte sorgfältig die Größe der Datei überwachen und sicherstellen, dass für den betreffenden Host die erforderlichen Plattenressourcen verfügbar sind, oder den Parameter -c verwenden, um die Anzahl der erfassten Pakete zu begrenzen.
  • Verwenden Sie niemals einen Ausdruck, der Verkehr zu oder von Ihrem Remote-Telnet/SSH/was auch immer Endgerät/Shell erfassen würde. tcpdump output würde Verkehr zu Ihrem Terminal generieren, was zu weiteren Ausgabe, was zu mehr Verkehr zu Ihrem Terminal und so weiter in eine unendliche und potenziell schädliche Rückkopplungsschleife.

Herkunft: Tcpdump - Basics

0

tcpdump ist sehr einfaches Werkzeug, das öffnet grundsätzlich besondere Art der Buchse ist

socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)) 

und schreibt auf die Festplatte alles, was es bekommt.

Kernel erfasst und verwaltet einen speziellen Puffer, um Pakete für tcpdump zu speichern. Wenn der Puffer ein vollständiges Paket ist, ist er einfach gefallen. Der Puffer wird mit der Option -B geregelt. Die meisten Systeme haben eine obere Grenze für Puffer, ~ 2 GB oder etwas ähnliches.

Aus CPU-Sicht benötigen Sie Rechenleistung Kopieren Sie alle Daten 2 oder 3 mal, dies ist in der Regel kein Problem, wenn Sie 1GB Link nicht erfassen können Sie am wahrscheinlichsten Schuld Laufwerksgeschwindigkeit, nicht CPU. Bei einer 10Gb-Verbindung kann es sich um CPU-Probleme und Bandbreitenprobleme im Speicherbus handeln, und Sie benötigen möglicherweise einige Optimierungen dafür.

Verwandte Themen