So prüft man offene Ports mit der PowerShell

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. Wie kann man nun auch mit der PowerShell Port testen?

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 optimale 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 einfach durchführen?

Test-NetConnection 192.168.1.1 -Port 22

Exkursion – Video Grundlagen PowerShell Cmdlets


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 jetzt an der folgenden IP-Adresse den Port 22. Dahinter verbirgt sich der SSH Zugriff. Die Ausgabe liefert das Ergebnis TcpTestSucceeded : True. Das bedeutet jetzt, 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 PowerShell Port testen!
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.

Wenn du mehr über die Windows PowerShell lernen möchtest, so gibt es von Udemy hervorragende Kurse. Oft sind diese auch im Angebot. Ein Blick könnte sich allemal lohnen: Empfehlenswert ist folgender:

Einstieg in die Windows PowerShell Cookbook – Udemy Kurs*

Dieser Artikel beinhaltet Partner-Links. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhält IT-Learner eine kleine Provision. Der Preis ändert sich für euch nicht. Danke für eure Unterstützung! Letzte Aktualisierung am 8.11.2023

3a0a8639e7e34d74baf17daceaff3558

Das könnte dich auch interessieren


Steigere dein Wissen

Kostenlose Befehlsreferenzen und E-Books herunterladen

Mehr Informationen zu den kostenlosen Materialien.


4 Kommentare zu „So prüft man offene Ports mit der PowerShell“

  1. 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?

    1. 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

  2. Ist eine Abfrage mit „Test-Connection MyWebserver -TcpPort 80“ nicht schneller?

    Zwar langsamer als nmap, dafür aber schön anzusehen:
    1..1024 |ForEach-Object {
    if (Test-Connection MyWebserver -TcpPort $_) {
    Write-Host „$_ ist offen!“ -ForegroundColor Green
    } else {
    Write-Host „$_ ist geschlossen!“ -ForegroundColor Red
    }
    }

    1. Hallo Sven,
      ja die Abfrage ist auf alle Fälle schneller. Allerdings prüft nmap natürlich noch mehr Details. Für einen kurzen Check eignet sich die PowerShell aber meiner Meinung nach besser.
      Gruß Markus

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen