3307 Stimmen

Wie können Sie herausfinden, welcher Prozess auf einem TCP- oder UDP-Port unter Windows lauscht?

Wie können Sie herausfinden, welcher Prozess auf einem TCP- oder UDP-Port unter Windows lauscht?

9 Stimmen

Currports ist ein Tool, das auch beim Suchen und Filtern hilft nirsoft.net/utils/cports.html

3 Stimmen

Ich bin auf dieses Problem gestoßen, als ich versucht habe, Tomcat unter IntelliJ im Debug-Modus laufen zu lassen. Die beste Lösung für mich bestand darin, die Konfiguration des Debug-Transports (File->Settings->Build/exe/deploy->Debugger) von "socket" auf "shared memory" zu ändern.

113 Stimmen

netstat -aof | findstr :8080 (Ändern Sie 8080 für einen beliebigen Port)

3767voto

Brad Wilson Punkte 64944

Neue Antwort, powershell

TCP

Get-Process -Id (Get-NetTCPConnection -LocalPort YourPortNumberHere).OwningProcess

UDP

Get-Process -Id (Get-NetUDPEndpoint -LocalPort YourPortNumberHere).OwningProcess

Alte Antwort, cmd

 C:\> netstat -a -b

(Hinzufügen -n um zu verhindern, dass es versucht, Hostnamen aufzulösen, wodurch es viel schneller wird).

Beachten Sie Danes Empfehlung für TCPView . Es sieht sehr nützlich aus!

-a Zeigt alle Verbindungen und lauschenden Ports an.

-b Zeigt die ausführbare Datei an, die an der Erstellung jeder Verbindung oder jedes lauschenden Anschlusses beteiligt ist. In einigen Fällen enthalten bekannte ausführbare Dateien mehrere unabhängige Komponenten, und in diesen Fällen wird die Reihenfolge der Komponenten angezeigt, die an der Erstellung der Verbindung oder des Listening Ports beteiligt sind. In diesem Fall steht der Name der ausführbaren Datei unten in [], oben steht die Komponente, die sie aufgerufen hat, und so weiter, bis TCP/IP erreicht wurde. Beachten Sie, dass diese Option zeitaufwendig sein kann und fehlschlägt, wenn Sie nicht über ausreichende Berechtigungen verfügen.

-n Zeigt Adressen und Portnummern in numerischer Form an.

-o Zeigt die eigene Prozess-ID an, die mit jeder Verbindung verbunden ist.

173 Stimmen

Und taskkill /PID <pid>, um den Prozess dann zu beenden, gegebenenfalls mit /F.

97 Stimmen

Möglicherweise müssen Sie Ihre Befehlszeilen-Shell als Administrator ausführen, da Sie sonst eine Fehlermeldung über unzureichende Rechte erhalten. Verwenden Sie die Option "Als Administrator ausführen", wenn Sie mit der rechten Maustaste auf cmd.exe klicken.

9 Stimmen

Funktioniert, erfordert aber eine erhöhte Genehmigung. Umschalt+Rechtsklick auf das Befehlssymbol -> als Administrator ausführen

2929voto

bcorso Punkte 43188

Es gibt eine native GUI für Windows:

  • Startmenü Alle Programme Zubehör System-Tools Ressourcen-Monitor

  • oder laufen resmon.exe ,

  • oder von TaskManager Leistung tab.

Enter image description here

64 Stimmen

Außerdem wird der Firewall-Status der Verbindung angezeigt (letzte Spalte). Sehr nützlich.

12 Stimmen

Sie müssen ein Administrator sein (oder zu dieser Gruppe gehören), um diese Funktion auszuführen.

3 Stimmen

@bcorso, Was bedeutet die Bindung an " nicht spezifizierte Adresse " bedeuten?

325voto

aku Punkte 118808

Für Windows:

netstat -aon | find /i "listening"

52 Stimmen

+1 Aber denken Sie daran, wenn Ihr Windows in einer anderen Sprache als Englisch läuft, müssen Sie "listening" in den muttersprachlichen Begriff ändern. z.B.. netstat -aon | find /i "abhören" für Deutsch.

7 Stimmen

In meinem Fall hat es nicht funktioniert, vielleicht wegen des Anführungszeichens, aber die Lösung netstat -aon | findstr LISTENING funktioniert perfekt!

0 Stimmen

Dies funktioniert, ohne dass erhöhte Rechte erforderlich sind, also hochgestuft.

289voto

Dane Punkte 9421

Utilisez TCPView wenn Sie eine grafische Benutzeroberfläche für diese Funktion benötigen. Es ist die alte Sysinternals Anwendung, die von Microsoft aufgekauft wurde.

10 Stimmen

Dies ist meiner Meinung nach die beste Option, zumal alle Prozesse in derselben Liste aufgeführt sind und man sie direkt mit einem Rechtsklick schließen kann.

9 Stimmen

Außerdem braucht man dafür keine Administratorrechte!

1 Stimmen

Ich liebe TCPView. Es ist seit Windows XP mein "Go-To"!

241voto

Ram Sharma Punkte 2217

Der in den meisten Antworten erwähnte Schalter -b setzt voraus, dass Sie über Administratorrechte auf dem Rechner verfügen. Sie brauchen keine erhöhten Rechte, um den Prozessnamen zu erhalten!

Finden Sie die PID des Prozesses, der in der Portnummer läuft (z. B. 8080)

netstat -ano | findStr "8080"

Den Prozessnamen nach pid suchen

tasklist /fi "pid eq 2216"

find process by TCP/IP port

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X