2016-05-27 5 views
0

Ich versuche festzustellen, welchen Befehl ich verwenden kann, um zu überprüfen, ob ein Port in Windows verwendet wird. Ich schaute in Command line for looking at specific port, aber keine Antwort passt genau, was ich suche.Windows-Befehl zum Betrachten eines bestimmten Ports (Genau)

Zum Beispiel möchte ich sehen, ob Port 500 in Gebrauch ist, würde ich netstat –an | findstr /r :500 verwenden, aber die Ergebnisse scheinen

TCP 0.0.0.0:5000   0.0.0.0:0    LISTENING 
TCP [::]:5000    [::]:0     LISTENING 
UDP 0.0.0.0:500   *:* 
UDP 127.0.0.1:50027  *:* 
UDP [::]:500    *:* 

Das ist nicht genau das, was ich will. Ich versuchte netstat -an | findstr /r :500[\s]+ dann würde nichts zeigen. Nicht sicher, wie ich die Abfrage beheben kann.

Irgendwelche Ideen?

+0

auch 'netstat -an | findstr/r ": 500" 'funktioniert nicht – user1763590

+1

' netstat -an | findstr/r ": 500 [^ 0-9:]" '- 500 gefolgt von einer Zahl oder einem Doppelpunkt (um zu vermeiden, dass es in einer IPv6-Adresse erscheint) – TessellatingHeckler

+0

Cool, es funktioniert. Irgendeine Idee, warum die Leerraumabfrage mit dem '\ s' nicht funktioniert? – user1763590

Antwort

0

FindStr Befehl hat keine volle PCRE-Engine. Während also die Regular Expression Assertion [^0-9:] Zahlen und einen Doppelpunkt ausschließt; die Behauptung \s entgeht einfach dem Buchstaben s, der dann nur dem Buchstaben s entspricht. Während in PCRE \s Whitespace darstellt.

Siehe auch diese findstr documentation wo es heißt \x ein Meta-Zeichen übereinstimmt, aber das Dokument geht nicht in Einzelheiten zu den anderen Klassen PCRE Charakter wie \s, \w, \d usw.

Probieren Sie es für Sie selbst. Vom Ihren c:\windows\system32 Ordner, erteilen Sie den Befehl folgen

dir | findstr \r "\s\s" | more

Sie sollten eine Liste von Dateien erhalten, die nur eine doppelte s wie syscla ss DLL oder ss dpapi.dll haben ... etc.

Verwandte Themen