![Lösung](https://rvso.com/image/1395286/L%C3%B6sung.png)
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)
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 -b
Parameter:
-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 -b
Befehl 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.exe
stattdessen verwenden. Keine Administratorrechte erforderlich.
TcpvconDie Verwendung ähnelt der des integrierten Windows-
netstat
Dienstprogramms.
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 FOR
zum Parsen netstat
der Ausgabe und anschließenden DO
tasklist
Filtern /fi
auf PID verwendet wird, um den Prozessnamen anzuzeigen.
tasklist
Der 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
netstat
Durch 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