Mit der Windows PowerShell prüfen ob bestimmte Ports geöffnet sind – Einen Portscan durchführen

Mit der Windows PowerShell einen Portscann für bestimmte Ports durchführen

Jeder Dienst der im Netzwerk angesprochen wird benötigt einen Port. Den hinter diesem verbirgt sich ja gerade das Protokoll, welches verwendet wird. So wäre z.B. für das Öffnen von Webseiten der Port 80 zuständig. Ports sind natürlich u.a. der Schlüssel um auf ein System zugreifen zu können. Darum sollte man auch immer nur die Ports geöffnet haben, welche unbedingt benötigt werden. Wie kann man jetzt also prüfen, welche den alle geöffnet sind. Es gibt durchaus sehr gute Programme wie z.B. nmap, welches für eine umfangreiche und detaillierte Analyse sehr zu empfehlen ist. Selbstverständlich gibt es auch noch weitere Windows Bordmittel, so z.B. netstat. Möchte man aber nur kurz testen, ob ein bestimmter Port am Server geöffnet ist, so lässt sich das mit der Windows PowerShell sehr leicht durchführen.

Test-NetConnection 192.168.1.1 -Port 22
Mit der Windows PowerShell einen Port prüfen - TestNetConnection
Mit der Windows PowerShell einen Port prüfen – TestNetConnection – Port geöffnet

Das Cmdlet Test-NetConnection prüft nun an der folgenden IP-Adresse den Port 22. Dahinter verbirgt sich der SSH Zugriff. Die Ausgabe liefert das Ergebnis TcpTestSucceeded : True. Das bedeutet nun, dass dieser Port offen ist. Da es sich um das TCP (Transmission Control Protocol) handelt, sollte man auch dessen grundlegende Funktionsweise kennen. Wenn TCP ein Paket sendet, wird ein sogenannter SYN gesendet. Der Remote Rechner antwortet dabei mit dem SYN + ACK. Dies bedeutet der Port ist offen. Sollte er allerdings als Antwort ein RST senden, so wäre keine Verbindung möglich. Natürlich würde dann als Antwort zu TcpTestSucceeded: False folgen.

Test-NetConnection 192.168.1.1 -Port 80

In diesem Beispiel wurde der Port 80 geprüft, welcher für das HTTP Protokoll zuständig ist. Wie der folgende Screenshot zeigt, ist dieser Port am System mit der IPv4-Adresse 192.168.1.1 nicht geöffnet.

Mit der Windows PowerShell einen Port prüfen - TestNetConnection - Port geschlossen
Mit der Windows PowerShell einen Port prüfen – TestNetConnection – Port geschlossen

Für einen schnellen Test, ob ein bestimmter Port am Server geöffnet ist, reicht die Windows PowerShell völlig aus. Übrigens genauere Details zum Thema Ports könnt ihr im Artikel: Wie du in 3 Minuten verstanden hast, was man im Bereich Netzwerktechnik unter Ports versteht nachlesen

  • Moin,

    vielen Dank für diese Information.
    Sehr hilfreich um mal schnell einen Port zu prüfen.

    Meine Frage: Gibt es auch die Möglichkeit das Ergebnis auf TCPTestSucceeded zu reduzieren um eventuell mit diesem Wert weiter arbeiten zu können?

    • Hallo Dominik, du könntest das Cmdlet "Select-Object" verwenden. Z.B. so: Test-NetConnection 192.168.178.11 -Port 80 | Select-Object -Property TCPTestSucceeded Du erhältst somit nur die Ausgabe von TCPTestSucceeded.
      Viele Grüße Markus