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

  • FĂŒr ausgehend ist die Remote-Adresse und der RemotePort sowie der ProzessName interessant. (LocalPort: HighPort)
  • FĂŒr eingehende Verbindungen, z. B. ein Webservice auf dem lokalen PC mit Port 80:
    LocalAddress: IP des lokalen GerÀtes; LocalPort: 80, RemoteAddress: IP-Adresse des Remote-GerÀtes, RemotePort: HighPort 
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 

netstat -ano | find "FILTER"

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.

 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE fĂŒr deine Bewertung!

Aktualisiert: 12.04.2022 von Bernhard | Translation English |🔔 | Kommentare:1

➚ WLAN und LAN Netzwerkkabel gleichzeitig - Internet Zugriff | ➊ Netzwerk | LAN / WLAN Speedtest: Geschwindigkeit im Netzwerk testen ➚

Top-Artikel in diesem Bereich


IP Adressen im Netzwerk finden, auch wenn deren Firewall aktiviert ist

Einen schnellen Überblick ĂŒber alle aktiven GerĂ€te im Netzwerk liefern - neben der VerwaltungsoberflĂ€che des Routers - Befehle in der Eingabeaufforderung, in PowerShell oder spezielle IP-Scanner. Die zu Beginn dieses Beitrages zusammengestellten PowerShell-Befehle geben einen schnellen Überblick ĂŒber alle GerĂ€te im lokalen Netzwerk und machen spezielle Programme fĂŒr das Scannen des Netzwerks eventuell ĂŒberflĂŒssig. Wer die Befehle gerne in Aktion sehen will, kann dies in meinem YouTube-Video. FĂŒr...


PING mit Port - Windows cmd | PowerShell: Test-Netconnection

Mit dem Tool Ping kann bekanntlich der Zugriff zu einem bestimmten NetzwerkgerĂ€t und dessen Antwortzeit getestet werden. Nicht alle GerĂ€te antworten auf einen Ping, möglicherweise aber auf einen bestimmten TCP-Port, vorausgesetzt, es wird darĂŒber ein bestimmter Netzwerkservice zur VerfĂŒgung gestellt. Windows PowerShell ermöglicht es, einen bestimmten Port mit Windows Bordmitteln zu testen. Das Tool PSping kann zudem die Antwortzeit auf einen bestimmten Port messen. Wer die Befehle gerne in Aktio...


cmd Befehle fĂŒr die Netzwerkanalyse

Mit einfachen Befehlen kann ein schneller Überblick ĂŒber die aktuellen Netzwerkeinstellungen ausgelesen werden, eventuelle Verbindungsfehler gefunden, oder ein Überblick ĂŒber andere GerĂ€te im Netzwerk verschafft werden. Die hier beschriebenen Befehle sind cmd-Befehle. Die Eingabe erfolgt ĂŒber die Eingabeaufforderung: cmd, siehe auch das zugehörige YouTube-Video.

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
14.05.2017 06:13
User: Johannes.hauswaldt@med.uni-Goettingen.de 
Netzwerke werden nicht angezeigt, obwohl die Verbindungen stehen
Was tun?

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details