Mit dem Tool Ping kann bekanntlich der Zugriff zu einem bestimmten Netzwerkgerät und dessen Antwortzeit getestet werden. Nicht alle Geräte antworten auf einen Ping, möglicherweise aber auf einen bestimmten TCP-Port, vorausgesetzt, es wird darüber ein bestimmter Netzwerkservice zur Verfügung gestellt. Windows PowerShell ermöglicht es, einen bestimmten Port mit Windows Bordmitteln zu testen. Das Tool PSping kann zudem die Antwortzeit auf einen bestimmten Port messen. Wer die Befehle gerne in Aktion sehen will, kann dies auf YouTube.
Ziel dieses Beitrags
Mit Befehlen in der Eingabeaufforderung testen,
ob bestimmte Internetadressen
oder Netzwerkgeräte
einen bestimmten Netzwerkport aktiv haben
Aufwand
Lesedauer: ca. 7 Minuten
Voraussetzung
Netzwerk-Basis-Wissen
und einen Windows-Rechner
Ping ist ein Befehl, mit dem ein Testpaket über das Netzwerk geschickt wird. Die Geräte antworten in der Regel darauf und schicken ein Antwortpaket zurück. Zuständig für die Antwort ist hier kein bestimmter Dienst, sondern ein Teil des IP-Netzwerkstacks auf dem Gerät.
Anders beim Test auf einen bestimmten Port, hier wird getestet, ob die Gegenstelle auf dem Port ein Paket entgegennimmt, ob also der TCP-Verbindungsaufbau auf den Port klappt. Der Verbindungsaufbau findet hier also direkt auf den Service statt, welcher den Port verwendet. Durch den Test auf einen bestimmten Port kann also getestet werden, ob ein bestimmter Service auf dem Gerät antwortet.
Um ein Gerät auf deren offene Ports zu testen, siehe: Portscan Befehle.
PowerShell: Test-Netconnection
Mit dem in PowerShell integrierten Befehl Test-NetConnection kann die Verbindung auf einen bestimmten Port getestet werden:
ⓘ
Windows PowerShell ist fixer Bestandteil von Windows,
der Portcheck erfolgt damit ohne zusätzlicher Softwarekomponenten oder Windows-Features.
Test-NetConnection -computername google.de -port 443
Der Befehl liefert für TcpTestSucceeded: True, wenn der Port erreichbar ist.
Eingabeaufforderung: Telnet
Ursprünglich wurde sehr oft der Befehl telnet in der Eingabeaufforderung missbraucht, um einen bestimmten Port zu testen. Telnet war in früheren Windows-Versionen fixer Bestandteil des Betriebssystems, in Windows 10 / 11 ist der Befehl telnet aber standardmäßig nicht mehr aktiviert, entsprechend muss der Befehl vorher über Programme und Features hinzugefügt werden:
Der Aufruf erfolgt dann in der Eingabeaufforderung: telnet IP/DNS Port
telnet 192.168.1.5 443
Wenn der Port offen ist, blinkt meist nur ein „_“ in der Ausgabe:
Sysinternals: psping
Mit dem Befehl psping kann zudem die Antwortzeit einzelner Services oder Ports, sowie die Bandbreite gemessen werden:
Ping auf einen Port
Beispiel:
psping www.google.de:80
psping ist in den pstools von Sysinternals (Microsoft) enthalten,
Bandbreite messen
die Bandbreite kann mit folgendem Befehl gemessen werden:
psping -b -l 8k -n 10000 www.libe.net:80
Download
Download siehe:http://technet.microsoft.com/en-us/sysinternals/jj729731.aspx
UDP-Ports prüfen
UDP-Ports können am einfachsten mit dem Tool „portqry“ getestest werden:
portqry -n 192.168.1.2 -p udp -o 161
Bei einer erfolgreichen Verbindung sollte portqry folgendes als Antwort ausgeben: „UDP port ??? ist LISTENING“
Sollte „UDP port ???:FILTERED“ ausgegeben werden, kann der Port nicht erreicht werden.
Download, siehe docs.microsoft.com/en-us/troubleshoot/windows-server/networking/portqry-exe-command-line-utility
TCP-Listener
Wer einen Port auf einem Gerät testen will, bei dem das Netzwerkservice nicht, oder noch nicht aktiv ist, kann dazu über PowerShell einen Port öffnen, siehe: www.script-example.com/tcp-listener.
YouTube-Video
Ich habe versucht, die hier beschriebenen Befehle zusätzlich in einem YouTube-Video zu veranschaulichen:
FAQ
Was ist ein Port?
Ein Netzwerkport ist eine Nummer zwischen 0 und 65535. Die Port-Nummer wird für die IP-Netzwerkkommunikation über User Diagram Protocol (UDP) oder dem Transmission Control Protocol (TCP) verwendet. Unterschiedliche Netzwerkports ermöglichen mehrere gleichzeitige Verbindungen auf eine IP-Adresse. Bestimmte Portnummern sind dabei für bestimmte Services vorgesehen: Als Beispiel wird der Port 80 in der Regel für den unverschlüsselten Zugriff auf eine Website verwendet, der Port 443 für einen verschlüsselten Zugriff auf eine Website. Damit der Verbindungsaufbau auf den Netzwerkservice stattfinden kann, hält dieser den Port offen: Im Falle des Webservers horcht dieser ständig auf den Port 80 und 443 um Verbindungen entgegennehmen zu können.
Welchen Port verwendet der Ping-Befehl?
ICMP ist neben TCP und UDP ein eigenes Protokoll, weshalb der Ping Befehl im Gegensatz zu TCP oder UDP keine Ports verwendet. Anders als bei TCP/IP, sendet der Client bei einem Ping ein ICMP Typ 8 - Echo Anfrage und das Remote-Gerät antwortet mit einer ICMP Typ 0 Echo Antwort. Der Ping findet also nicht über TCP/IP statt, sondern über ein eigenes IP-Protokoll: ICMP.
Kann ich einen bestimmten Port für den Ping-Befehl verwenden?
Streng genommen handelt es sich bei einem Ping auf einen bestimmten TCP-Port nicht um einen ICMP-Ping, sondern um einen TCP-Verbindungsversuch. Tools, wie Test-Netconnection, Telnet oder psping versuchen eine TCP-Verbindung auf einen bestimmten Service aufzubauen und testen damit eine Netzwerkverbindung auf TCP/IP-Ebene.
Was bedeutet ein hoher Ping in Games?
Ein Ping misst die Dauer zwischen dem Senden einer Echo-Anfrage und der bekommenen Antwort, auch Round trip delay (RTD), round-trip-time (RTT), Latenz oder umgangssprachlich verkürzt einfach als Ping bezeichnet. Ein hoher Ping ist demnach eine verzögerte Netzwerkantwort. Bei vielen Online-Games wirkt sich eine verzögerte Netzwerkantwort negativ auf das Spielverhalten aus und da der Ping-Befehl die Latenz mit ausgibt, wird auch in Online-Games für die Verzögerungen häufig der Begriff „Ping“ verwendet. Je nach Spiel ist ein Ping von ca. 20–70 Millisekunden (ms) in Ordnung, bestimmte Games können aber auch mit höheren Antwortzeiten umgehen.
Fazit
Mit dem in Windows integrierten PowerShell-Befehl Test-NetConnection kann ganz einfach getestet werden, ob ein bestimmter Port auf einem Gerät offen ist. Zudem kann mit den folgenden Befehlen ein Portscan auf alle Ports durchgeführt werden: Portscan - Geräte im Netzwerk auf deren Services testen. Einen Überblick, welche Geräte im lokalen Netzwerk vorhanden sind, liefern die Befehle des folgenden Artikels: Alle Geräte - IP-Adressen im Netzwerk anzeigen.