{"id":246,"date":"2009-04-21T21:43:58","date_gmt":"2009-04-21T19:43:58","guid":{"rendered":"http:\/\/www.butschek.de\/?page_id=246"},"modified":"2009-04-21T21:43:58","modified_gmt":"2009-04-21T19:43:58","slug":"tcpdump-wireshark","status":"publish","type":"page","link":"https:\/\/www.butschek.de\/fachartikel\/tcpdump-wireshark\/","title":{"rendered":"Analyse mit tcpdump\/wireshark"},"content":{"rendered":"

Hin und wieder steht man vor dem Problem, dass man gerne in den Netzwerk-Traffic des eigenen Servers blicken m\u00f6chte. Sei es, um omin\u00f6se Verbindungen endlich zu verstehen, um eine vermeintliche DoS-Attacke zu analysieren oder herauszufinden, was genau der Grund f\u00fcr die unspezifische Meldung „Verbindungsabbruch“ im Mail-Client ist.<\/p>\n

Hierzu gibt es 2 Tools, die sich hierf\u00fcr anbieten Tcpdump<\/a> erlaubt neben dem Live-Blick in den Traffic auch das Speichern des gesamten Traffics in eine Datei. Dies ist oft die sinnvollere Wahl, da die gesammtelten Daten so mit einem geeigneten Werkzeug in Ruhe analysiert werden k\u00f6nnen.<\/p>\n

Dieses geeignete Werkzeug nennt sich Wireshark<\/a>. Mit diesem Programm lassen sich mit Tcpdump erzeugte Captures (in Windows: *.cap) \u00f6ffnen und ordentlich analysieren.<\/p>\n

Aufzeichnung mit Tcpdump<\/h2>\n

Zuerst muss Tcpdump auf dem Server installiert werden. Debian bietet hierzu wie \u00fcblich ein fertiges Paket an:<\/p>\n

aptitude install tcpdump<\/pre>\n

Nach der Installation ist das Programm sofort einsatzbereit. Mit folgender Zeile wird das Aufzeichnen der Pakete (Capture) gestartet:<\/p>\n

tcpdump -p -s0 -w tcpdump.cap<\/pre>\n

Tcpdump speichert nun alle Pakete mit. Eine Ausgabe erfolgt jedoch nicht. Die Parameter geben an, dass die Datei tcpdump.cap zu verwenden ist (-w), dass der Promiscuous Modus nicht aktiviert werden soll (-p) und dass die Pakete nicht wie in der Default-Einstellung nach 68 Byte abgeschnitten werden, sondern voll aufgezeichnet werden (-s0, wobei 0=Unbegrenzt).<\/p>\n

\"tcpdump<\/p>\n

Da hier schnell viele Daten zusammenkommen und die sp\u00e4tere Analyse sehr lange dauert, wenn wir 30.000 Pakete aufzeichnen, solltem an nur soviel aufzeichnen, wie f\u00fcr die Fehleranalyse n\u00f6tig ist. Das hei\u00dft: Im Falle einer Fehlermeldung den Fehler einmal reproduzieren, dann die Aufzeichnung abbrechen. Im Falle einer Attacke gen\u00fcgen meist 10 Sekunden aus dem Zeitraum, in dem die Attacke l\u00e4uft.<\/p>\n

Abbrechen l\u00e4\u00dft sich die Aufzeichnung mit STRG-C. Danach kann die gespeicherte Datei (hier: tcpdump.cap) auf den lokalen Rechner \u00fcbertragen werden (scp\/pscp).<\/p>\n

Analyse mit Wireshark<\/h2>\n

Auf Windows-PCs kann die Software direkt von der Wireshark Homepage<\/a>heruntergeladen werden. Debian und Ubuntu Benutzer k\u00f6nnen das Paket direkt \u00fcber die Quellen installieren:<\/p>\n

aptitude install wireshark<\/pre>\n

Nach dem Starten des Programms kann man die aufgezeichnete Datei (oben: tcpdump.cap) \u00f6ffnen und landet direkt in der Paketansicht, in der man alle aufgezeichneten Pakete sieht:<\/p>\n

\"Ethereal<\/p>\n

Die Ansicht ist dreigeteilt: Oben sehen wir eine Liste der verschiedenen Pakete, wobei die verschiedenen Farben f\u00fcr unterschiedliche Protokolle stehen. In der Mitte sieht man die einzelnen Layer (Schichten) des ausgew\u00e4hlten Pakets. Diese lassen sich in einer Baumstruktur \u00f6ffnen, so dass man alle Layer sowie dessen Inhalte betrachten kann.<\/p>\n

Unten sehen wir die Raw-Daten, also das Paket in Hexadezimal- und ASCII-Ausgabe, wobei der jeweils ausgew\u00e4hlte Layer automatisch markiert wird. Ein nettes Feature, denn so lernt man leicht die Beschaffenheit von Paketen und erkennt auch schnell, an welcher Stelle im Paket welche Informationen zu finden sind.<\/p>\n

Eine nette Funktion von Wireshark ist „Follow TCP Stream“, also einer TCP-Verbindung folgen. Hierbei gen\u00fcgt es, ein Paket auszuw\u00e4hlen und die Funktion \u00fcber das Men\u00fc aufzurufen. Wireshark filtert daraufhin alle Pakete, die zu dieser TCP-Verbindung geh\u00f6ren und zeigt in einem Fenster alle Daten, die Client und Server \u00fcbertragen haben:<\/p>\n

\"Follow<\/p>\n

Angezeigt werden also nicht Pakete, sondern nur die \u00fcbertragenen Informationen. Die Darstellung in ASCII erlaubt somit das direkte Mitlesen der Kommunikation zwischen Client und Server. Eine sehr nette Funktion, wenn der Mailclient mal wieder eine nichtssagende Fehlermeldung von sich gibt, denn hier kann exakt eingesehen werden, was „gesprochen“ wurde. Das gilt nat\u00fcrlich nur f\u00fcr ASCII-Dialoge, die keine Verschl\u00fcsselung (z.B. SSL) benutzen.<\/p>\n

Auch interessant man die Funktion Flow Charts im Statistics Men\u00fc sein. Hier sieht man die Aufteilung der Pakete mit prozentualer Angabe. Nett, um zum Beispiel ungew\u00f6hnliches Netzwerkverhalten aufzudecken.<\/p>\n

\"Flow<\/p>\n

Ebenfalls im Statistics Men\u00fc befindet sich die Funktion Protocol Hierachy, mit der sich die einzelnen Pakete auf die verwendeten Protokolle hierachisch aufaddieren lassen. Damit sieht man die Verteilung des Traffics und erkennt auch schnell, welches Protokoll benutzt wird.<\/p>\n

\"Protocol<\/p>\n

Generell sind sehr viele Funktionen des Programms interessant, es w\u00e4re zu viel, hier alle vorzustellen. Dennoch soll dieser Artikel dazu „verleiten“, es einfach mal auszuprobieren. Wer sich ein bischen mit TCP\/IP auskennt, d\u00fcrfte mit den beiden Tools viel interessantes neues kennenlernen und zuvor unl\u00f6sbare Netzprobleme schnell und einfach finden und beheben k\u00f6nnen.<\/p>\n

Ein Wort zum Datenschutz<\/h2>\n

Nat\u00fcrlich ist es nicht erlaubt, von dritten generierten Traffic einfach frei mitzuschneiden und zu analysieren. Dies w\u00fcrde die Privatsph\u00e4re verletzen. Daher sollte dies nur auf privaten Servern oder Home PCs eingesetzt werden. Im Fall der F\u00e4lle l\u00e4\u00dft sich tcpdump auch bewegen, nur Pakete bestimmter Hosts in die Datei zu speichern, indem man am Ende der Zeile noch ein „host xx.xx.xx.xx“ anh\u00e4ngt, wobei xx.xx.xx.xx die IP-Adresse ist.<\/p>\n","protected":false},"excerpt":{"rendered":"

Hin und wieder steht man vor dem Problem, dass man gerne in den Netzwerk-Traffic des eigenen Servers blicken m\u00f6chte. Sei es, um omin\u00f6se Verbindungen endlich zu verstehen, um eine vermeintliche DoS-Attacke zu analysieren oder herauszufinden, was genau der Grund f\u00fcr die unspezifische Meldung „Verbindungsabbruch“ im Mail-Client ist. Hierzu gibt es 2 Tools, die sich hierf\u00fcr […]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":252,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/pages\/246"}],"collection":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/comments?post=246"}],"version-history":[{"count":0,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/pages\/246\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/pages\/252"}],"wp:attachment":[{"href":"https:\/\/www.butschek.de\/wp-json\/wp\/v2\/media?parent=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}