3408 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.

129 Stimmen

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

14voto

Technotronic Punkte 7760

Geben Sie den Befehl ein: netstat -aon | findstr :DESIRED_PORT_NUMBER

Wenn ich zum Beispiel den Port 80 finden möchte: netstat -aon | findstr :80

Diese Antwort wurde ursprünglich veröffentlicht auf diese Frage .

12voto

Tony Delroy Punkte 98528

netstat -ao y netstat -ab sagt Ihnen die Anwendung, aber wenn Sie kein Systemadministrator sind, erhalten Sie die Meldung "Der angeforderte Vorgang erfordert eine Berechtigung".

Es ist nicht ideal, aber wenn Sie Sysinternals' Prozess-Explorer können Sie die Eigenschaften bestimmter Prozesse aufrufen und auf der Registerkarte TCP nachsehen, ob sie den gewünschten Port verwenden. Es ist ein bisschen wie eine Nadel im Heuhaufen, aber vielleicht hilft es ja jemandem...

0 Stimmen

Wenn Sie kein Administrator sind, können Sie den Prozess-Explorer (oder sogar den Windows Task-Manager > Ressourcen-Manager) nicht verwenden, um diese Informationen von einem Prozess zu erhalten, der Ihnen nicht gehört.

11voto

mikemaccana Punkte 93077

Verwendung der Standard-Shell von Windows (Powershell) und ohne externe Anwendungen

Für diejenigen, die PowerShell verwenden, versuchen Sie Get-NetworkStatistics :

> Get-NetworkStatistics | where Localport -eq 8000

ComputerName  : DESKTOP-JL59SC6
Protocol      : TCP
LocalAddress  : 0.0.0.0
LocalPort     : 8000
RemoteAddress : 0.0.0.0
RemotePort    : 0
State         : LISTENING
ProcessName   : node
PID           : 11552

3 Stimmen

Ich glaube nicht, dass Get-NetworkStatistics standardmäßig installiert ist. Es gibt mir folgendes zurück: Der Begriff 'Get-NetworkStatistics' wird nicht als Name eines Cmdlets erkannt

0 Stimmen

@AlejandroSanzDíaz welches Betriebssystem und welches Build?

0 Stimmen

Windows 10 Enterprise 19044.1526

10voto

Josh Punkte 1952

Ich empfehle CurrPorts von NirSoft.

CurrPorts kann die angezeigten Ergebnisse filtern. TCPView verfügt nicht über diese Funktion.

Hinweis: Sie können mit der rechten Maustaste auf die Socket-Verbindung eines Prozesses klicken und "Close Selected TCP Connections" (Ausgewählte TCP-Verbindungen schließen) wählen (Sie können dies auch in TCPView tun). Dies behebt oft Verbindungsprobleme mit Outlook und Lync, nachdem ich das VPN gewechselt habe. Mit CurrPorts können Sie Verbindungen auch über die Befehlszeile mit dem Parameter "/close" schließen.

10voto

Angel Venchev Punkte 647

Eine einzeilige Lösung, die mir hilft, ist diese. Ersetzen Sie einfach 3000 durch Ihren Port:

$P = Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess; Stop-Process $P.Id

Bearbeiten: Geändert kill まで Stop-Process für mehr PowerShell-ähnliche Sprache

6 Stimmen

Sie wollen den Prozess wahrscheinlich nicht automatisch beenden. Ich würde den Kill-Befehl abtrennen und ihn erklären. Ich möchte nicht, dass ein armer Benutzer das kopiert, ohne sorgfältig darüber nachzudenken.

1 Stimmen

Und wenn Sie sich für die vollständige PowerShell-Lösung entscheiden, ändern Sie kill in Stop-Process Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess | Stop-Process

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