it-swarm.com.de

Befehlszeile zum Anzeigen eines bestimmten Ports

Gibt es eine Möglichkeit, den Status eines bestimmten Ports über die Windows-Befehlszeile zu überprüfen? Ich weiß, dass ich netstat verwenden kann, um alle Ports zu untersuchen, aber netstat ist langsam und es ist wahrscheinlich nicht so, wenn ich einen bestimmten Port betrachte.

229
user1580018

Hier ist das einfache Lösung der Portfindung ...

In cmd:

netstat -na | find "8080"

In der Bash:

netstat -na | grep "8080"

In PowerShell:

netstat -na | Select-String "8080"
223

Sie können den Befehl netstat in Kombination mit den Flags -np und einer Pipe zu den Befehlen find oder findstr verwenden.

Grundsätzliche Verwendung ist als solche:

netstat -np <protocol> | find "port #"

Um beispielsweise Port 80 auf TCP zu überprüfen, können Sie dies tun: netstat -np TCP | find "80" Das ergibt die folgende Art von Ausgabe:

TCP    192.168.0.105:50466    64.34.119.101:80       ESTABLISHED
TCP    192.168.0.105:50496    64.34.119.101:80       ESTABLISHED

Wie Sie sehen, werden hier nur die Verbindungen an Port 80 für das Protokoll TCP angezeigt.

102
Rivasa

Ich benutze:

netstat –aon | find "<port number>"

hier steht o für die Prozess-ID. Jetzt können Sie alles mit der Prozess-ID machen. Um den Prozess zu beenden, verwenden Sie beispielsweise:

taskkill /F /pid <process ID>
67
Himadri Pant

wenn ich Probleme mit WAMP Apache habe, verwende ich diesen Code, um herauszufinden, welches Programm Port 80 verwendet.

netstat -o -n -a | findstr 0.0:80

enter image description here

3068 ist PID, daher kann ich es im Task-Manager finden und diesen Prozess stoppen.

66
Mohsen Safari

Wie an anderer Stelle erwähnt: Verwenden Sie netstat mit den entsprechenden Optionen und filtern Sie die Ergebnisse mit find [str].

Grundlegendste:

netstat -an | find ":N"

oder

netstat -a -n | find ":N"

So finden Sie einen ausländischen Hafen:

netstat -an | findstr ":N[^:]*$"

So finden Sie einen lokalen Port, den Sie möglicherweise verwenden:

netstat -an | findstr ":N.*:[^:]*$"

Dabei ist N die Portnummer, an der Sie interessiert sind.

-n stellt sicher, dass alle Ports numerisch sind, d. H. Nicht als in Dienstnamen übersetzt zurückgegeben werden.

-a stellt sicher, dass Sie alle Verbindungen durchsuchen (TCP, UDP, Listening ...)

In der Zeichenfolge find muss der Doppelpunkt als Port-Qualifikationsmerkmal angegeben werden, andernfalls kann die Nummer mit lokalen oder fremden Adressen übereinstimmen.

Sie können die Suche mit anderen netstat-Schaltern nach Bedarf weiter eingrenzen ...

Weitere Lektüre (^ 0 ^)

netstat /?

find /?

findstr /?
20
EndUzr
netstat -a -n | find /c "10.240.199.9:8080"

sie erhalten die Anzahl der Sockets, die für eine bestimmte IP-Adresse und einen bestimmten Port aktiv sind (Server-Portnummer).

9
Uday Singh

Für Windows 8-Benutzer: Öffnen Sie die Eingabeaufforderung und geben Sie netstat -an | find "your port number" ein.

Wenn die Antwort wie folgt lautet: LISTENING, wird der Port verwendet, andernfalls ist er frei.

6
Pratik Roy

Zur Verbesserung von @ EndUzrs Antwort :

Um einen fremden Port (IPv4 oder IPv6) zu finden, können Sie Folgendes verwenden:

netstat -an | findstr /r /c:":N [^:]*$"

Um einen lokalen Port (IPv4 oder IPv6) zu finden, können Sie Folgendes verwenden:

netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "

Wobei N die Portnummer ist, an der Sie interessiert sind. Die Option "/ r" weist sie an, sie als regulären Ausdruck zu verarbeiten. Mit der Option "/ c" kann findstr Leerzeichen in Suchzeichenfolgen einschließen, anstatt eine Leerzeichenfolge als Trennzeichen für Suchzeichenfolgen zu behandeln. Dieser zusätzliche Speicherplatz verhindert, dass längere Ports misshandelt werden, z. B. ": 80" im Vergleich zu ": 8080" und andere Probleme beim Port-Munging.

So listen Sie Remoteverbindungen zum lokalen RDP-Server auf:

netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"

Oder um zu sehen, wer Ihren DNS berührt:

netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"

Wenn Sie nur lokale Ports ausschließen möchten, können Sie eine Reihe von Ausnahmen mit "/ v" verwenden und Zeichen mit einem Backslash maskieren:

netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"
2
shawn

Für Port 80 lautet der Befehl: netstat -an | find "80" Für Port n wäre der Befehl: netstat -an | finde "n"

Hier ist netstat die Anweisung für Ihre Maschine

-a: Zeigt alle Verbindungen und Überwachungsports an. -n: Zeigt alle Adressen und Anweisungen in numerischem Format an. (Dies ist erforderlich, da die Ausgabe von -a Maschinennamen enthalten kann.)

Dann ein Suchbefehl, um die Ausgabe des vorherigen Befehls zu "Pattern Match".

1
subodhkarwa

Das wird dir helfen

netstat -plan | grep :<port number>
0
jobin