So prüft man offene Ports mit der PowerShell

Oft ist es nötigt, mit der PowerShell Port testen zu müssen. 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.

Mit der PowerShell Port testen – so funktioniert es

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

Videoanleitung zum Prüfen offener Ports

Sie sehen gerade einen Platzhalterinhalt von Standard. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf den Button unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Weitere Informationen
Ports mit der Windows PowerShell prüfen


Mit der Windows PowerShell einen Port prüfen - TestNetConnection
Mit der Windows PowerShell einen Port prüfen – TestNetConnection – Port geöffnet

Mit der PowerShell Port prüfen

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

Möchtest du schnell mit der PowerShell Port prüfen, 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:

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 6.07.2024

3a0a8639e7e34d74baf17daceaff3558
Der Blogbetreiber und Autor: Markus Elsberger

Über den Autor

Mein Name ist Markus Elsberger und ich beschäftige mich mit der Administration von Windows und Linux Systemen sowie mit diversen Themen bzgl. Netzwerktechnik. In meiner Lehrtätigkeit erstelle ich verschiedene Szenarien und teste auch verschiedene Konfigurationen, welche ich in diesem Blog festhalten möchte.


Kostenlose Befehlsreferenzen und E-Books
(Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.)


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

×