Gibt es eine Möglichkeit, den Status eines bestimmten Anschlusses über die Windows-Befehlszeile zu überprüfen? Ich weiß, dass ich netstat verwenden kann, um alle Ports zu überprüfen, aber netstat ist langsam, und einen bestimmten Port zu überprüfen ist wahrscheinlich nicht möglich.
Antworten
Zu viele Anzeigen?Zur Verbesserung von @EndUzr's Antwort :
Um einen fremden Port (IPv4 oder IPv6) zu finden, können Sie verwenden:
netstat -an | findstr /r /c:":N [^:]*$"
Um einen lokalen Port (IPv4 oder IPv6) zu finden, können Sie verwenden:
netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "
Dabei ist N die Nummer des Anschlusses, für den Sie sich interessieren. Der Schalter "/r" weist das Programm an, es als Regexp zu verarbeiten. Der Schalter "/c" erlaubt es findstr, Leerzeichen in den Suchstrings einzuschließen, anstatt ein Leerzeichen als Trennzeichen für den Suchstring zu verwenden. Dieses zusätzliche Leerzeichen verhindert, dass längere Ports falsch behandelt werden - z.B. ":80" vs. ":8080" und andere Port-Munging-Probleme.
Um z. B. Remote-Verbindungen zum lokalen RDP-Server aufzulisten:
netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"
Oder um zu sehen, wer Ihre DNS berührt:
netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"
Wenn Sie nur lokale Ports ausschließen wollen, können Sie eine Reihe von Ausnahmen mit "/v" und Escape-Zeichen mit einem Backslash verwenden:
netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"