Netzwerktrace ohne Zusatztools erzeugen

Autor: Norbert Fehlauer - vom 24.11.2018 - Kategorie(n): Anleitungen Hintergrundwissen

Wenn tiefere Einblicke in den Netzwerktraffic benötigt werden, kommt regelmäßig das Tool Wireshark zum  Einsatz. Das ist quasi das Schweizer Taschenmesser für diese Zwecke. Allerdings gibt es auch immer wieder Netzwerke, bei denen man keine Zusatztools auf sensitiven Systemen installieren will oder darf, oder die Einrichtung eines Mirrorports nicht so schnell möglich ist. In solchen Fällen kann man sich mittels netsh helfen, welches seit Windows 7/2008R2 in der Lage ist Netzwerktraces zu ziehen. Diese Dateien können dann bspw. mit dem Microsoft Network Monitor oder dem Microsoft Message Analyzer ausgewertet werden.

Beispiel welches den Netzwerktrace startet und nur IPv4 Traffic von der Quelladresse 192.168.160.29 in der Zieldatei mynetshtrace.etl im Ordner c:\logfiles aufzeichnet.


netsh trace start capture=yes Ethernet.Type = IPv4 IPv4.Address = 192.168.160.29  tracefile = c:\logfiles\mynetshtrace.etl


Beispiel in der Powershell, welches mehrere Quell-/Zieladressen berücksichtigt und die Trace-Datei mit dem Computernamen versieht, welcher den Trace aufzeichnet. Die Datei kann maximal 2GB groß werden und wird per Umlaufprotokollierung überschrieben, wenn diese Größe erreicht wird.  

$filename = "c:\logfiles\${env:computername}_netsh_trace.etl"
$IPs = "({0},172.25.28.12,172.25.28.11,172.25.28.13,172.25.28.14,172.25.28.15)" -f (Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias *-Verbindung).IPAddress 
netsh trace start capture=yes tracefile=$filename maxsize=2048 filemode=circular overwrite=yes report=no correlation=no IPv4.SourceAddress=$IPs IPv4.DestinationAddress=$IPs Ethernet.Type=IPv4
 
Der Trace kann schnell sehr groß werden, und sollte entweder mit Umlaufprotokollierung laufen, oder rechtzeitig gestoppt werden. Das Anhalten des Netzwerktraces erfolgt mittels folgenden Befehls:   net trace stop   


Danach erzeugt netsh eine cab Datei, in welcher sich zusätzliche Infos wie Ereignisprotokolle, Registryauszüge usw. zu finden sind.

Für die Auswertung wird in diesem Fall aber nur die erzeugte .etl-Datei benötigt. Diese wird auf das System kopiert, auf welchem bspw. der Microsoft Message Analyzer installiert ist. Das Tool kann hier heruntergeladen werden:
https://www.microsoft.com/en-us/download/details.aspx?id=44226 

Nach der Installation wird das Tool gestartet und die .etl-Datei geladen.


(klick vergrößern)

Je nach Größe dieser Datei und der Leistungsfähigkeit des Computers, kann das Einlesen der Datei einige Minuten dauern. Über Filter kann das Ganze etwas übersichtlicher dargestellt werden. Bspw. kann man sich nur den Netzwerktraffic des ldap Protokolls anschauen, indem als Filter tpc.port==389 definiert
wird.
 

(klick vergrößern)  

Wenn man analysieren will, mit welchem User ein ldap simple bind durchgeführt wurde, kann folgender Logeintrag weiterhelfen:  

(klick vergrößern)  

Mittels Rechtsklick auf einzelne Spalten kann man bspw. nach den Modulen gruppieren lassen.
(klick vergrößern)  

Im Detailfenster ist dann die gewünschte Information zu sehen.
(klick vergrößern)

Ein Grund mehr, warum man auf Klartextprotokolle im Normalbetrieb verzichten sollte.   Weiterführende Links für Anwendungszwecke und Beispiele: https://blogs.msdn.microsoft.com/canberrapfe/2012/03/30/capture-a-network-trace-without-installing-anything-capture-a-network-trace-of-a-reboot/   https://community.ipswitch.com/s/article/Use-Netsh-to-capture-the-network