Lösung

Lösung

Mit netstat -a -o -n kann ich die Liste der Ports und PIDs abrufen

dann muss ich zum Task-Manager gehen und die PID hinzufügen und sehen, wer es ist. (ziemlich frustrierend)

Bildbeschreibung hier eingeben

Ich habe mich gefragt, ob es einen CMD-Befehl gibt, der alles erledigt (mit find, for, powershell)

damit ich den Prozessnamen bekommen konnte

Antwort1

Lösung

Verwenden Sie den -bParameter:

  -b            Displays the executable involved in creating each connection or
                listening port. In some cases well-known executables host
                multiple independent components, and in these cases the
                sequence of components involved in creating the connection
                or listening port is displayed. In this case the executable
                name is in [] at the bottom, on top is the component it called,
                and so forth until TCP/IP was reached. Note that this option
                can be time-consuming and will fail unless you have sufficient
                permissions.

NotizDer netstat -bBefehl schlägt fehl, wenn er nicht von einer Eingabeaufforderung mit erhöhten Rechten aus ausgeführt wird.

Problemumgehung

Filtern Sie die Prozessliste und finden Sie die PID, die Sie interessiert:

tasklist | findstr /c:"PID"  


Alternative Lösung

Sie können Tcpvcon.exestattdessen verwenden. Keine Administratorrechte erforderlich.

TcpvconDie Verwendung ähnelt der des integrierten Windows- netstatDienstprogramms.

Usage: tcpvcon [-a] [-c] [-n] [process name or PID]

 -a Show all endpoints (default is to show established TCP connections).
 -c Print output as CSV.
 -n Don't resolve addresses.

Antwort2

Ich glaube, Sie suchenTCPViewvon SysInternals.

Antwort3

Hier ist ein Beispiel für Windows, das FORzum Parsen netstatder Ausgabe und anschließenden DO tasklistFiltern /fiauf PID verwendet wird, um den Prozessnamen anzuzeigen.

tasklistDer letzte Fund besteht darin , Kopfzeilen zu entfernen .

FOR /F "usebackq tokens=5 delims= " %i IN (`netstat -ano ^|find "443"`) DO @tasklist /fi "pid eq %i" | find "%i"

druckt Datensätze aus wie

tomcat8.exe.x64               4240 Services                   0    931,864 K

netstatDurch das Hinzufügen von Token können zusätzliche Felder hinzugefügt werden.

Antwort4

Versuchen Sie, dies zu verwenden ...

Prozessname mit Zeitstempel :) im Oneliner ... kein Scripting nötig, schnell und einfach ...

Sie können den Parameter SYN_SENT durch ESTABLISHED oder LISTENING ändern.

filter timestamp {"$(Get-Date -Format G): $_"};netstat -abno 1 | Select-String -Context 0,1 -Pattern LISTENING|timestamp

filter timestamp {"$(Get-Date -Format G): $_"};netstat -abno 1 | Select-String -Context 0,1 -Pattern SYN_SENT|timestamp

verwandte Informationen