Windows NetMon 2

Die Beschreibung zur aktuellen Version finden sie auf NetMon 3

Ein wichtiges und zu unrecht unterschätztes Tool eines Server Administrators ist der Microsoft Netzwerk Monitor, welcher bei jedem Windows Server zumindest in vereinfachter Version enthalten ist. ähnlich wie WireShark und Packetyzer ist auch der NetMon ein Programm, um Pakete auf dem Netzwerk mitzuschneiden. Es ist im Standard Lieferumfang von Windows NT4 , 2000 und 2003 Server enthalten, aber muss installiert werden.

Danach finden Sie im Startmenü unter Verwaltung das Icon für "Netzwerkanalyseprogramm". Sie können NetMon problemlos installieren und starten, den im Gegensatz zu WireShark und Packetyzer benötigt NetMon keinen Pakettreiber und keinen Neustart. Sie können sofort mit NetMon anfangen, Pakete zu protokollieren. Ehe Sie nun aber zur Tat schreiten, sollten sie folgendes wissen:

  • NetMon sieht nicht alles
    NetMon in der eingeschränkten Version protokolliert nur Pakete, die direkt an den Server selbst gerichtet sind, ihr Server versendet oder die als Broadcast oder Multicast empfangen werden. Sie können NetMon also nicht dazu nutzen, die Kommunikation zwischen zwei anderen Stationen abzuhören. Die Vollversion aus SMS kann dies aber. Meist geht das heute aber aufgrund der eingesetzten Switches sowieso nicht mehr so einfach.
  • Richtige Karte auswählen
    NetMon kann immer nur auf genau einer Netzwerkkarte mitschneiden. Die meisten PCs haben aber neben der echten Netzwerkkarte auch immer noch einen DFÜ-Adapter oder einige mehr.
  • Netmon Default Buffer = 1 Megabyte
    Alle mitgeschnittenen Pakete werden im Hauptspeicher abgelegt. Der von NetMon reservierte Puffer ist hierbei mit 1 Megabyte sehr klein gewählt. Ich wähle in der Regel dafür 64 Megabyte oder mehr. Wenn der Puffer voll ist, werden die ältesten Einträge überschrieben. NetMon nutzt den Speicher als  Ringbuffer
  • Filter
    Es macht keinen Sinn, alle Pakete des PCs mitzuschneiden, wenn Sie nur eine bestimmte Kommunikationsbeziehung interessiert. Wählen Sie daher einen Filter passend aus.
  • Testen sie ihren Filter
    Wenn Sie z.B.: auf IP-Adressen oder bestimmte Protokolle filtern, dann sollten Sie Testweise ein solches Paket

NetMon für Einsteiger

So eine Aufzählung ist zwar alles ganz nett, aber wenn Sie bislang noch nie mit NetMon gearbeitet haben, dann sollten ihnen diese ersten Schritt weiter helfen.

Installation NetMon

Zuerst muss der Microsoft Netzwerk Monitor installiert werden. Dazu dient das ganz normale Windows Setup, welches sie unter "Start - Einstellungen - Systemsteuerung - Software" erreichen können. Unter den "Windows Komponenten hinzufügen/entfernen" müssen Sie dann den Netzwerkmonitor auswählen.

Der Eintrag findet sich unter Verwaltungs- und Überwachungsprogramme. Nach der Installation können Sie den NetMon einfach über das Startmenü in der Verwaltung aufrufen.

Auswahl der Karte

Nach dem Start werden Sie je nach Version darauf hingewiesen, dass es sich um die eingeschränkte Version handelt, die keine für andere Systeme bestimmte Pakete mitschneiden kann. Der nächste Schritt ist die Auswahl der Netzwerkkarte.

Wenn ein System mehrere Karten hat oder über ein so genanntes "Team" verfügt, bei der mehrere Karten zu einer virtuellen Karte zusammengefasst werden, dann sollten Sie immer das Team nehmen. Da der NetMon die MAC-Adresse anzeigt, können Sie die für ihren Mitschnitt korrekte Karte über "IPCONFIG /ALL" ermitteln. IPCONFIG /ALL muss auf einer Kommandozeile ausgeführt werden und zeigt ihnen alle Karten mit der IP-Adresse und der MAC-Adresse an.

Wichtig ist hier auch die Anzeige unter "unterstützt Promiscuous Mode". Dies ist wichtig, wenn Sie später einmal die Vollversion von SMS installieren wollen. Nur in dieser Betriebsart kann die Karte auch wirklich alle Pakete annehmen, auch wenn diese nicht für die Karte bestimmt sind.

Einstellen des Puffers

Der zweite Schritt führt zur Einstellungen der Ringpuffergröße. Die vorgegebenen 1 Megabyte sind in den seltensten Fällen ausreichend.

Mehr als 64 Megabyte brauchen Sie aber in der Regel nicht. Wenn Sie mehr Daten mitschneiden,  dann sollten Sie überlegen, ob Sie einen besseren Filter finden. Wirklich "lesen" können Sie 64 Megabyte wirklich nicht. Große Puffer brauchen Sie aber, wenn Sie den Filter nicht ausreichend eng einstellen können oder sie viele Daten für spätere Auswertungen mit anderen Programmen benötigen.

Der erste Testlauf

Ob wir nun alles richtig gemacht haben, können wir einfach mit einem Mitschnitt erkennen. Drücken Sie dazu oben auf die an einen Videorecorder angelehnten Schaltflächen. Das Symbol für "Play" steht hier aber für Aufzeichnen. NetMon sollte auf jeden Fall einige Pakete erhalten. Es sind allerdings nur Pakete, die er selbst sendet, direkt empfängt oder als Broadcast oder Multicast mit bekommt. Aber das reicht f����r den Anfang schon aus.

Im rechten Bereich sehen Sie die absoluten Zahlen. Hier wurden 21 Pakete und 6 Broadcasts empfangen. Das untere Fenster zeigt die beteiligten Systeme anhand ihrer MAC-Adresse. Links darüber die Kommunikationsbeziehungen. Links oben zeigt NetMon eine grafische Aufbereitung. Wenn NetMon ihnen nichts anzeigt, dann könnten wirklich nichts auf ihrem Netzwerk los sein. Wahrscheinlicher ist aber, dass Sie die falsche Netzwerkkarte ausgewählt haben.

Der passende Filter

Ehe Sie nun aber eine Fehler suchen, sollten Sie die Menge der mitgeschnittenen Pakete begrenzen. Dazu eignen sich natürlich am besten Filter auf IP-Adressen oder MAC-Addressen. Über das Menü "Sammeln - Filter" oder alternativ über die Funktionstaste F8 kommen Sie in den Filterdialog. Folgende Warnung können Sie bestätigen

Damit weist Sie der NetMon darauf hin, dass er nicht alles mitschneiden wird. Sie können mit NetMon also nur sinnvoll arbeiten, wenn der Fehler auch den Server betrifft, auf dem Sie NetMon starten.

Der Sammlungsfilter erlaubt ihnen die Angabe von Adresspaaren anhand der IP, IPX oder MAC-Addresse. Dazu müssen Sie einfach eine Adresse hinzufügen und im folgenden Fenster die gewünschten Partner auswählen. Meist müssen Sie noch nicht in der Liste aufgeführte Partner manuell erst hinzu fügen.

Zusätzlich können Sie auch Musterübereinstimmungen oder die Ethernet Frametypen selektieren. Dies zählt aber eher zu den fortgeschrittenen Tätigkeiten beim umgang mit NetMon. Eine Filterung auf TCP/IP-Ports, Protokolle oder anderer höhere Protokollschichten ist hier leider noch nicht möglich. Allerdings können Sie mehrere Filter logisch über uND, ODER, NICHT verknüpfen. Wenn Sie auf einem Exchange Server mitschneiden und sie haben zwei Domain Controller, dann sollten Sie zwei Filterbedingungen verknüpfen.

Die hier aufgezeigte Verbindung protokolliert alle Verbindungen von SRV01 and den DC1 und an den DC2 mit. Das "UND" ist nicht als logisches undzu verstehen, denn dann würde der NetMon ja nie was mitschneiden.

Der richtige Mitschnitt

Ob die Filter nun auch so wirken, wie sie es erwarten, sollten Sie z.B. einfach mit einem PING prüfen. Starten Sie dazu den NetMon zum Mitschneiden und senden Sie einen Ping von den und an die beteiligten Systeme. Sie sollten diese PINGS auch in Netmon später in der Ansicht sehen. Unerwünschte Pakete sollten jedoch nicht ihren Puffer füllen. Wenn der PING vier Pakete sendet, können Sie meist schon allein anhand der Anzahl der Pakete im Puffer die Funktion prüfen. Ansonsten können Sie natürlich den Mitschnitt nach dem Test anhalten und in den Buffer schauen.

Ein Ping mit vier antworten führt zu 8 Paketen im Puffer, weil der Sender und der Empfänger jeweils vier Pakete gesendet haben. So ausgerüstet können Sie nun den Mitschnitt wieder starten und auf die wirklich wichtigen Pakete warten. Da ein "PING" später recht einfach in dem Mitschnitt zu finden ist, ist ein PING natürlich auch ein geniales Markierungshilfsmittel um bestimmte Zeitpunkte leichter wieder zu finden. Wenn Sie z.B. auf einem anderen Server eine zu protokollierende Aktion durchführen, dann können Sie kurz vorher einen Ping senden und nach dem Abschluss einen weiteren Ping. So können Sie Start und Ende leichter wieder finden. Analogieren zu "Senden Sie nur einen Ping, bitte" aus dem Film "Jagd auf roter Oktober" sind rein zufällig.

Die Anzeige

Wenn Sie dann glauben, die fraglichen Pakete mitgeschnitten zu haben, dann ist es Zeit, den Mitschnitt anzuhalten und anzuzeigen. Dazu gibt es im NetMon den "STOP"-Button zum beenden bzw. den "Stop mit Brille"-Button zum direkten Anzeigen nach dem Ende. Das Fenster könnte dann so aussehen:

Ich versuche die einzelnen Pakete zu erläutern.

  • 1. Paket: PING Anfrange
    Das Protokoll ICMP und die Beschreibung "Echo" zeigt klar, dass das System 192.168.0.222 hier einen PING 192.168.0.1 gemacht hat.
  • 2. Paket: Ping Antwort
    Und dieser Ping wurde auch vom anderen System beantwortet
  • 3. Paket: TCP-Handshake beginnt
    Das lokale System möchte eine Verbindung mit dem anderen System über TCP aufnehmen. Dazu muss es erst den Handshake ausführen. Sie erkennen das daran, dass das "SYN"-Bit gesetzt ist (Synchronisiere die Sequenznummern). Im Datenteil ist gut zu sehen, dass der Zielport "SMTP" ist.
  • 4. Paket
    Die Gegenseite bestätigt den Eingang des Paketes (A = Acknowledge) aber gleichzeitig setzt die Seite die Verbindung Zurück (R = Reset). Das bedeutet, dass auf dem System 192.168.0 1 anscheinend kein Dienst auf dem Port "SMTP" aktiv ist.

Wenn Sie daher bei Exchange solch ein Fehlerbild haben, sollten Sie prüfen, ob sie den richtigen Smarthost im SMTP-Connector eingetragen haben (vielleicht nur vertippt) oder die Namensauflösung eine falsche IP-Adresse für einen Namen liefert. Es kann natürlich auch sein dass die Gegenseite den SMTP-Server gerade zu Wartungsarbeiten gestoppt hat. Der Server selbst ist aber erreichbar, da der TCP/IP-Stack aktiv die Verbindung ablehnt. Dies könnte natürlich auch eine Firewall sein.

NetMon für Profis

NetMon kann viel mehr, als auf den ersten Blick zu erkennen ist. Viele erweiterte Funktionen sind nur in der Version enthalten, die mit SMS verteilt wird. Auch liefert Microsoft leider nicht allzu viele Protokollfilter mit, die Protokolle decodieren können. Hier sind die Entwickler von WireShark sehr viel weiter. Aber das ist ja an sich kein Gegensatz.

Ich selbst z.B.: schneide auf Kundenservern bevorzugt mit NetMon die Pakete auf dem Server mit. Schließlich möchte nicht jeder Kunde, dass eine fremde Software und vielleicht noch zusätzliche Treiber das System instabil machen. Der NetMon hingegen ist problemlos zu installieren, da er ja zu Windows "dazu" gehört. Die von NetMon erstellten CAP-Dateien kann ich allerdings viel besser in WireShark oder mit Packetyzer analysieren.

Oft ist es aber so, dass ich gar nicht weiß, wann der Fehler auftritt. Hier kann NetMon dann auf dem Server mit einem passenden Filter gestartet werden und schneidet immer mit. Da der Speicher ein Ringpuffer ist und ich den ausreichend groß dimensionieren kann, muss ich nur noch erreichen, dass NetMon rechtzeitig beendet wird. Nun kann natürlich ein Anwender beim Auftreten des Fehlers anrufen und der Administrator hechtet zum Server um den STOP-Knopf zu drücken. Es geht aber auch einfacher:

NetMon kann bestimmte Aktionen ausführen, wenn ein bestimmtes Paket eintrifft. Ich muss also nur ein ganz besonderes Paket generieren, welches so nie auftritt und von NetMon erkannt werden kann. Meist behelfe ich mich einfach mit einem PING von einer bestimmten Station, einem NET SEND oder einen TELNET auf einen Port. In NetMon kann dann eingestellt werden, dass beim Eintreffen eines solchen Pakets das Mitschneiden beendet wird

So kann ich beim Auftreten des Fehlers mit einem einfachen PING an den Server aus der Ferne die Sammelfunktion von NetMon beenden und in aller Ruhe zum Server laufen und den Mitschnitt zur weiteren Auswertung abspeichern.

NetMon Ergebnisse interpretieren

Wenn Sie nun glauben das richtige mitgeschnitten zu haben, dann kommt die eigentliche Detektivarbeit. Um die Daten zu lesen, müssen Sie sich nun mit den tiefen der Kommunikationsprotokolle beschäftigen. Ich würde nun gerne ihnen all das erzählen und schreiben, was ich in den Jahren meiner Tätigkeit beim umgang mit NetMon und anderen Produkten wie Novells Lanalyzer, Sniffer aber auch Speicheroszilloskopen in den Zeiten von 10 MBit BNC-Ethernet gelernt habe. Nur würde dafür eine ganze Webseite vermutlich nicht ausreichen. Aber oft muss man gar nicht so tief einsteigen, wenn auch ohne allzu tiefes Wissen können Sie oft häufige Fehler erkennen z.B.

  • Pakete kommen gar nicht an
    Sie fragen sich, warum ein Client nicht ihren Server erreichen kann ?. Vielleicht liegt es ja nur an der Verbindung oder einer falschen Namensauflösung auf dem Client? Erfragen Sie einfach die IP-Adresse des Clients, tragen Sie diese im Filter ein und starten Sie den Mitschnitt. Wenn überhaupt keine Pakete auftauchen, dann kann es zwar sein, dass Sie sich beim Eingeben des Filters vertippt haben. Aber viel eher kann es sein, dass der Client ihren Server nicht finden oder erreichen kann. Vielleicht ist da nur lokal ein alter Eintrag in der HOSTS oder LMHOSTS oder eine Personal Firewall verhindert die Verbindung?
  • Antworten gehen an die falsche IP-Adresse
    Wenn Sie einen PING auf einen Hostnamen machen oder ein Laufwerk verbinden oder per Browser auf einen Webserver zugreifen wollen, dann sollten Sie sehr einfach die ersten Pakete dieser Verbindung erkennen. Ist die angesprochene IP-Adresse wirklich die richtige Adresse ?. Geht der Browser wirklic    h über den Proxy Server ?. Wenn das andere System im gleichen LAN ist, dann sollte die MAC-Adresse des Zielsystems übereinstimmen. Ansonsten sollte die MAC-Adresse des Routers dort eingetragen sein.
  • TCP-Handshake kommt nicht zustande
    Jede Verbindung über TCP baut einen Handshake aus. Das ist in etwa so, wie wenn Sie ein Telefonat führen. Sie rufen an, die Gegenseite meldet sich mit Namen.  Sie erwidern diese Meldung mit ihrem Namen. Ein klassischer Dreiwege Handshake. Genau das gleiche passiert vor dem eigentlichen Übertragen von Daten. Der Sender sendet ein Paket um die Sequenznummern auszuhandeln. Die Gegenseite bestätigt dies und bittet ihrerseits um den Abgleich der Sequenznummern. Ihr System bestätigt auch dieses. Diesen Handshake können Sie schon einfach erkennen. Und wenn dann z.B.: die Nutzdaten von SMTP übertragen werden, dann werden Sie sich sehr schnell einfinden und nach und nach die Pakete lesen lernen.
  • Einfache Funktionen wie PING, ARP, DHCP funktionieren nicht sauber
    Wenn ein PC keine IP-Adresse bekommt, dann sollten Sie NetMon auf einem Server im gleichen Subnetz starten. Die sollten dann auf jeden Fall den Broadcast dieses PCs finden können, der um eine IP-Adresse per DHCP nachfragt. Auch die Antwort des DHCP-Servers sollten Sie wieder finden.
  • ARP-Anfragen
    PC's in einem Netzwerk benötigen immer die  MAC-Adresse um zu kommunizieren. ARP (Address Resolution Protocol) dient dazu, diese Daten zu ermitteln. Dazu nutzt ARP entsprechende Broadcasts und werden daher auch von dem limitierten NetMon mitgeschnitten. Es ist sehr einfach da hinein zu schauen. Sie erkennen sehr schnell, welche Systeme gerade welche andere IP-Adresse suchen. So erkennen Sie aber auch ob sich auf dem physikalischen Netzwerk verschiedene IP-Subnetze tummeln.
  • Sie "sehen" falsche IP-Adressen in Broadcasts
    Angenommen ihr PC hat die IP-Adresse 192.168.100.10 mit der Subnetmaske 255.255.255. Wenn Sie dann im NetMon ein packet an die Adresse 192.168.100.255 finden, ist das ein richtiger Subnet Broadcast, wie einige Protokolle ihn verwenden. Wenn Sie aber ein Paket mit 192.168.0.255 sehen, dann sollten Sie stutzig werden, da dieses Paket in ihrem Segment garantiert falsch ist.
  • Paketstürme und ARP-Anfragen
    Wenn ein System unablässig  massenhaft Pakete sendet, dann kann dies auf eine Fehlkonfiguration auf diesem System hindeuten. Vielleicht ist es sogar ein Angreifer oder das System selbst wurde infiziert. Einige Firmen erkennen mittlerweile schon am Verhalten im Netzwerk, ob dort ein Wurm oder Virus installiert ist. Das ist verständlich, wenn ein System z.B.: massenhaft ARP-Anfragen stellt, um die aktiven Systeme im Netzwerk zu finden.

Auch wenn das nur einige Beispiele für den Einsatz von NetMon sind, habe ich sie hoffentlich neugierig gemacht, sich mit NetMon zu beschäftigen. Es ist ein sehr wirkungsvolles Mittel, wenn Sie damit umgehen können. Die Vollversion ist übrigens in SMS enthalten und kann auch Pakete senden. Dies sollte aber nur in Ausnahmefällen von qualifizierten Personen eingesetzt werden, da die Störungen sehr umfangreich sein können.

Weitere Links