Mit netstat -a -o -n
kann ich die Liste der Ports und PID erhalten
Dann muss ich zum Task-Manager gehen und die PID hinzufügen und sehen, wer es ist. (ziemlich frustrierend)
Ich war verwundert , wenn es ein CMD - Befehl ist , der macht alles (mit find
, for
, powershell
)
damit ich den Prozessnamen bekommen konnte
windows-7
powershell
cmd.exe
netstat
Royi Namir
quelle
quelle
Antworten:
Lösung
Verwenden Sie den
-b
Parameter:Hinweis: Der
netstat -b
Befehl schlägt fehl, wenn er nicht an einer Eingabeaufforderung mit erhöhten Rechten ausgeführt wird.Umgehung
Filtern Sie die Prozessliste und finden Sie die PID, die Sie interessiert:
Alternative Lösung
Sie können
Tcpvcon.exe
stattdessen verwenden. Keine Administratorrechte erforderlich.quelle
Ich denke, Sie suchen nach TCPView von SysInternals.
quelle
Hier ist ein Beispiel für Windows, das verwendet wird
FOR
, um dienetstat
Ausgabe zu analysieren und anschließendDO
tasklist
mit dem/fi
Filter auf pid den Prozessnamen anzuzeigen.Der letzte Fund besteht darin,
tasklist
Header zu entfernen .druckt Datensätze wie ausgegeben
Zusätzliche Felder von
netstat
können durch Hinzufügen von Tokens hinzugefügt werden.quelle
find
zum Herausfiltern von Ports (im Gegensatz dazunetstat -b
kann der Prozessname zwar direkt angegeben werden, das manuelle Durchsuchen der Ausgabe ist jedoch schmerzhaft und fehleranfällig); 2. Verwenden Sie nur native Windows-Befehle, dies ist flexibler und unabhängiger.findstr
mit/R
Option verwenden, anstattfind
Regex für eine bessere Suche zu verwenden; 2.:443 *[[0-9]"
als Muster verwenden, um nur den lokalen Port herauszufiltern . Das ganze Kommando könnte lautenFOR /F "usebackq tokens=5 delims= " %i IN (`netstat -ano ^|findstr /R /C:":443 *[[0-9]"`) DO @tasklist /fi "pid eq %i" | findstr "%i"
netstat
durch Hinzufügen von Tokens zusätzliche Felder aus hinzugefügt werden können?Wenn Sie gerne PS verwenden, können Sie diesen Code abspalten (Hinweis: Es ist super-einfach)
Beachten Sie, dass Sie versuchen können ,
Path
stattProcessName
zu bekommen einen vollständigen Pfad für ausführbare Dateien - es wird allerdings nicht mit Systemdiensten zu arbeiten. Sie können auch dasProcessName
an das Zeilenende anhängen , anstatt den PID-Wert zu ersetzen.Geniesse es ;)
quelle
Versuchen Sie, dies zu verwenden ...
Prozessname mit Zeitstempel :) in oneliner ... kein Scripting nötig, schnell und einfach ...
Sie können den Parameter SYN_SENT durch ESTABLISHED oder LISTENING ändern
quelle
Sehr schöner Erik Bitemo! Ich habe überlegt, eine Variable für den Pfad hinzuzufügen. Dann habe ich festgestellt, dass Sie diese Variable bereits haben, obwohl sie nicht definiert wurde. Der Code, den ich wiederverwendete, war also:
Ich habe versucht, die Prozesse und Dienste für eine Anwendung zu finden, bei der ich einen etwas anderen 2-Liner verwendet habe.
quelle
GetService
und konzentrierenGet-Process
.