aktive Netzwerkverbindungen und Prozesse anzeigen | Windows
FĂŒr einen schnellen Ăberblick, welche Programme oder Dienste eine aktive Netzwerkverbindung haben, können diese ĂŒber einfache Befehle aufgelistet oder ĂŒber bestimmte Tools ĂŒberwacht und analysiert werden. Der Inhalt dieses Beitrages kann auch als YouTube-Video angesehen werden.
PowerShell: Get-NetTCPConnection
Als Alternative zum CMD-Befehl ânetstatâ, kann in PowerShell der Befehl âGet-NetTCPConnectionâ fĂŒr die Anzeige der Netzwerkverbindungen verwendet werden. Die folgende Befehlszeile kombiniert Get-NetTCPConnection mit Get-Process und Out-GridView. Das Ergebnis ist eine Liste aller eingehenden und ausgehenden Netzwerkverbindungen und deren Prozesse.
Die folgende Zeile kann einfach ĂŒber die Zwischenablage (Strg+C) in Windows PowerShell eingefĂŒgt werden (Strg+V):
Get-NetTCPConnection | Where-Object state -ne Bound | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,State,OwningProcess, @{n="ProzessName"; e={( Get-Process -Id $_.OwningProcess).ProcessName}} | Out-GridView
Dank Out-GridView können die angezeigten Netzwerkverbindungen einfach sortiert und gefiltert werden:
(Hier Verbindung von Microsoft Edge auf eine Webseite mit Port 443)
Legende:
| LocalAddress | lokale Netzwerkadresse (eigene Adresse) eigene IP-Adresse oder 0.0.0.0 (::) fĂŒr beliebige Adresse |
|---|---|
| LocalPort | lokaler Netzwerkport |
| RemoteAddress | Netzwerkadresse des RemotegerÀtes |
| RemotePort | Netzwerkport des RemotegerÀtes |
| OwningProcess | Prozess-ID (PID) des Dienstes welcher die Verbindung aufbaut oder empfÀngt |
| ProzessName | Prozess Name von âGet-Prozessâ |
State
| Listen | warten auf Verbindung Meist auf einer beliebigen eigenen Adresse (0.0.0.0) und einem lokalen Port. Auf den hier angefĂŒhrten lokalen Port kann von einem Remote-GerĂ€te eine Verbindung aufgebaut werden. |
|---|---|
| Bound | Socket erstellt (bind), aber kein weiterer Aufruf (listen, accept, connect, close) |
| Established |
Verbindung hergestellt
|
| SynSent |
ausgehender Verbindungsversuch |
| SynReceived |
eingehender Verbindungsversuch |
| Closing | Beide Sockets beendet, aber noch nicht alle Daten gesendet |
| CloseWait | Das Remote-GerÀt hat die Verbindung abgebrochen |
| Closed | Socket ist nicht verwendet |
| TimeWait | Socket wartet nach dem SchlieĂen, um Pakete im Netzwerk noch zu verarbeiten |
| LastAck | Das RemotegerÀte hat die Verbindung beendet, der Socket ist geschlossen, warte auf BestÀtigung |
| FinWait1 | Socket geschlossen und die Verbindung wird beendet |
| FinWait2 | Verbindung beendet, der Socket wartet auf das Beenden des RemotegerÀts |
Wie stellt sich die Befehlszeile zusammen, der Reihe nach
Get-NetTCPConnection zeigt alle aktiven Netzwerkverbindungen des PCs:
PS C:\Users\LiBe> Get-NetTCPConnection
LocalAddress LocalPort RemoteAddress RemotePort State AppliedSetting
------------ --------- ------------- ---------- ----- --------------
:: 445 :: 0 Listen
:: 135 :: 0 Listen
...
192.168.1.198 49808 116.203.238.206 443 Established Internet
....
Wie in PowerShell ĂŒblich, kann ĂŒber ein Pipe und âwhereâ gezielt gefiltert werden:
PS C:\Users\LiBe> Get-NetTCPConnection | where RemoteAddress -Like "116*"
LocalAddress LocalPort RemoteAddress RemotePort State AppliedSetting
------------ --------- ------------- ---------- ----- --------------
192.168.1.198 49827 116.203.238.206 443 Established Internet
In der Standardausgabe fehlt die Prozess-ID, diese kann wie folgt angezeigt werden:
PS C:\Users\LiBe> Get-NetTCPConnection | where RemoteAddress -Like "116*" | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,State,OwningProcess | Format-Table
LocalAddress LocalPort RemoteAddress RemotePort State OwningProcess
------------ --------- ------------- ---------- ----- -------------
192.168.1.198 49843 116.203.238.206 443 Established 6224
Mit dem Befehl Get-Prozess kann der ProzessName fĂŒr die PID ausgelesen werden.
PS C:\Users\LiBe> Get-Process -Id 6224
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
288 19 10924 24952 1,89 6224 1 msedge
Kombiniert:
PS C:\Users\LiBe> Get-NetTCPConnection | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,State,OwningProcess, @{n="ProzessName"; e={( Get-Process -Id $_.OwningProcess).ProcessName}} | Format-Table
LocalAddress LocalPort RemoteAddress RemotePort State OwningProcess ProzessName
------------ --------- ------------- ---------- ----- ------------- -----------
:: 49670 :: 0 Listen 708 services
:: 49669 :: 0 Listen 2760 spoolsv
:: 49668 :: 0 Listen 2096 svchost
...
:: 49665 :: 0 Listen 600 wininit
:: 49664 :: 0 Listen 744 lsass
:: 445 :: 0 Listen 4 System
:: 135 :: 0 Listen 992 svchost
0.0.0.0 49849 0.0.0.0 0 Bound 6224 msedge
0.0.0.0 49848 0.0.0.0 0 Bound 7744 msedgewebview2
0.0.0.0 49847 0.0.0.0 0 Bound 7744 msedgewebview2
0.0.0.0 49846 0.0.0.0 0 Bound 7744 msedgewebview2
....
0.0.0.0 49713 0.0.0.0 0 Bound 8700 SystemSettings
0.0.0.0 49707 0.0.0.0 0 Bound 6224 msedge
0.0.0.0 49673 0.0.0.0 0 Bound 2716 svchost
192.168.1.198 49849 116.203.238.206 443 Established 6224 msedge
192.168.1.198 49820 40.97.120.130 443 Established 5252 SearchHost
192.168.1.198 49707 192.168.1.166 8009 Established 6224 msedge
192.168.1.198 49673 20.199.120.85 443 Established 2716 svchost
...
netstat: Windows / Linux
Der Befehl netstat ist sowohl in Linux als auch in Windows verfĂŒgbar und bietet die Möglichkeit, alle Netzwerkverbindungen und offene Ports anzuzeigen. Der Aufruf in Windows erfolgt ĂŒber die Eingabeaufforderung, durch Eingabe des folgenden Befehls:
netstat -ano

Die Parameter -ano bedeuten:
- a bedeutet: alle Verbindungen
- n: Adressen und Portnummern numerisch
- o: zusÀtzlich die PID anzeigen (also welcher Prozess dahinter steckt)

der Status
ABHĂREN bedeutet: Der Client horcht auf diesen Port. Er wartet also, bis ein anderes NetzwerkgerĂ€t eine Verbindung zu ihm aufbaut.Â
SYN_GESENDET: Der Client baut gerade eine Verbindung auf und wartet auf die Antwort.

HERGESTELLT entsprechend: Verbindung hergestellt.
Filter
Solle die Ausgabe zu viele EintrĂ€ge enthalten, kann die Ausgabe durch den Befehl "find" gefiltert werden, alsoÂ

Prozesse
Mit dem Parameter /b versucht netstat anhand der PID den dahinterliegenden Prozess anzuzeigen, hierfĂŒr sind Administratorrechte erforderlich:

TCPView
Mit dem kostenlosen Tool TCPView können, Àhnlich Get-NetTCPConnection, alle Verbindungen angezeigt werden. Das Tool besteht aus einer simplen .exe Datei und muss nicht installiert werden.
technet.microsoft.com/de-at/sysinternals/bb897437.aspx
CurrPorts
Einen erweiterten Funktionsumfang bietet das ebenfalls kostenlose Tool, CurrPorts, von nirsoft. Zu den zusÀtzlichen Funktionen zÀhlen eine Benachrichtigung bei neuen Verbindungen, Filter und die Möglichkeit ein Logfile aufzuzeichnen. Auch CurrPorts besteht aus einer simplen exe-Datei und muss, wie auch TCPView, nicht installiert werden.

Bestimmte Dienste können durch Rechtsklick und âExclude in Filterâ ausgenommen werden, oder nur bestimmte Dienste mit âInclude in Filterâ beobachtet werden.

 Damit die Ansicht automatisch aktualisiert wird, kann ein Autorefresh Intervall gesetzt werden:

Tooltip-Benachrichtigung mittels âTray Ballon On New Portsâ
Â
Browser â Element untersuchen
Um die Kommunikation des Browsers beim Aufruf einer Webseite anzuzeigen, beinhalten alle modernen Browser die Möglichkeit, Netzwerkaufrufe sichtbar zu machen. In Google Chrome, Internet Explorer, Firefox und Microsoft Edge mit einem âRechtsklickâ auf die Webseite und: âElement untersuchenâ

im Reiter Netzwerk werden die geladenen Elemente angezeigt:
Â
Wireshark
Wireshark ist ein extrem mĂ€chtiges Werkzeug. Das Open-Source-Programm bietet erfahrenen Benutzern die Möglichkeit, den Netzwerkverkehr genau zu analysieren. Wireshark ist aber nicht nur fĂŒr Spezialisten geeignet. Dank der zahlreichen Filter und Funktionen, sollte es jedermann sehr schnell möglich sein, einen Ăberblick ĂŒber den Netzwerkverkehr zu bekommen:

Zum Beispiel können unter Statistics / Endpoints alle GerÀte, zu und von denen eine Netzwerkverbindung initiiert wurde, angezeigt werden:

Windows Performance Toolkit
Ein Trace aus Sicht des Betriebssystems kann ĂŒber das Windows Performance Toolkit erstellt werden. Dabei wird zu den Prozessen und Events auch deren Netzwerkkommunikation protokolliert, als Beispiel bei einem Logon-Trace, siehe:Â Xperf - Boot und Shutdown Analyse
Verbindung verbieten
siehe: Windows Firewall - ausgehende Regeln konfigurieren
YouTube-Video
YouTube-Video zu diesem Beitrag:
Fazit
FĂŒr einen schnellen Ăberblick ĂŒber aktive Netzwerkverbindungen reicht ein einfacher Befehl in PowerShell: Get-NetTCPConnection oder der Eingabeaufforderung netstat. FĂŒr einen besseren Ăberblick oder mehr Details können spezielle Programme verwendet werden, bis hin zum Netzwerksniffer: Wireshark, welcher den kompletten Netzwerktraffic aufzeichnen kann.
Â
({{pro_count}})
{{percentage}} % positiv
({{con_count}})
DANKE fĂŒr deine Bewertung!
Fragen / Kommentare
(sortiert nach Bewertung / Datum) [alle Kommentare(am besten bewertete zuerst)]


