Supportanfrage

Welches Programm belegt den Port X?

von | 20.März 2020

Zuletzt aktualisiert am von ProSoft Redaktion

Beschreibung

Ausgangslage

Manchmal kommt man in die Situation, dass man ein Programm / einen Dienst installieren / starten will und die Meldung erhält, das der hierzu benötigte Port schon belegt ist.

Wie man nun mit Windows Bordmitteln herausfinden kann, welches Programm/welcher Dienst den Port bereits in Benutzung hat, will dieser Artikel erklären.

Ursache

Wodurch wird das beschriebene Problem bzw. die Ausgangslage verursacht oder ausgelöst?

Oft ist solch eine Analyse nötig, um z.B. beim Einrichten eines Webservice festzustellen, wer bereits den Port 80 bzw. 443 benutzt.

Auch kann es vorkommen, dass man bei der Ausführung eines Programms eine Fehlermeldungen bezüglich doppelt vergebener Ports erhält.

Lösung

Welche Massnahmen müssen ergriffen werden?

Welche Lösungsschritte stehen zur Verfügung?

Welche Alternativen bieten sich?

Zur Analyse der belegten Port bietet sich das Windows Systemtool  netstat  an.

Um  netstat  ausführen zu können, öffnen Sie eine Eingabeaufforderung als Administrator

Führen Sie nun folgenden Befehl aus:

netstat -bano -p TCP | findstr /r 0.0:80


Erklärung zu den im Beispiel verwendeten Parameter:
-b => Zeigt die ausführbare Datei an, die beim Erstellen jeder Verbindung bzw. jedes lauschenden Ports involviert ist.
-a => Zeigt alle Verbindungen und lauschenden Ports an.
-n => Zeigt Adressen und Portnummern numerisch an.
-o => Zeigt die mit jeder Verbindung verknüpfte, übergeordnete Prozesskennung an.
-p => Zeigt Verbindungen für das angegebene Protokoll an. Mögliche Protokolle: TCP, UDP, TCPv6 oder UDPv6.

Als Ergebnis erhalten Sie eine Auflistung all jener Programme, welche den Port 80 verwenden:

Welches Programm belegt den Port X 01

Wie Sie sehen, erhalten Sie nicht nur die eine exakte Fundstelle “0.0:80”, sondern eben auch die anderen, welche ebenfalls mit “0.0:80” beginnen.

Der letzten Spalte ist die PID (Prozess-ID) zu entnehmen.
Im Taskmanager können Sie sich nun die Spalte PID einblenden lassen und sehen dann, welches Programm derzeit mit dieser Prozess-ID ausgeführt wird.

Es geht allerdings auch noch etwas einfacher mit folgendem Befehl:

tasklist /FI “PID eq 2156” /FO TABLE

Als Ergebnis dieses Beispiels erhalten Sie nun das Programm angezeigt, welches derzeit mit der Prozess-ID 2156 ausgeführt wird:

Welches Programm belegt den Port X 02


In diesem Beispiel haben wir nur danach gesucht, welches Programm den Port 80 verwendet.

Wollen Sie jedoch wissen, durch welche Programme derzeit der Port 80 und Port 443 belegt ist, so geben Sie folgenden, verknüpften Befehl ein:

netstat -bano -p TCP | findstr /r 0.0:80 &&
netstat -bano -p TCP | findstr /r 0.0:443


Zur Ausführung des Befehls geben Sie diesen in einer (1) Zeile ein. Aus Gründen der besseren Darstellung wird die Befehlszeile hier u.U. in mehreren Zeilen umgebrochen angezeigt.

Als Ergebnis erhalten Sie nun eine Auflistung all jener Programme, welche den Port 80 oder 443 verwenden:

Welches Programm belegt den Port X 03

In diesem Beispiel belegt das Programm mit der Prozess-ID 2156 sowohl den Port 80, als auch den Port 443

Mit diesem Befehl lassen Sie sich wieder den Programmnamen anzeigen:

tasklist /FI “PID eq 2156” /FO TABLE

Welches Programm belegt den Port X 04

Als Ergebnis stellen wir fest: Port 80 und Port 443 wird auf diesem Rechner durch den Apache HTTP Server verwendet.

Wollen Sie abschließend das Programm beenden, welches den benötigten Port aktuell verwendet, so können Sie dies mit folgendem Befehl erreichen:


taskkill /pid 2156 /f

Seitenaufrufe

Bitte bewerten Sie diesen Beitrag!
[Gesamt: 0 | Durchschnitt: 0]