Grundlegendes
Mit Python offene Ports anzeigen – das geht. Oft ist es in einem Netzwerk nötig, dass man prüft, ob bestimmte Ports offen sind. Um dies zu prüfen, hat man mehrere, verschiedene Optionen.
So kann man u. a. den Portscanner nmap verwenden, die Ports direkt mit der Windows PowerShell prüfen oder aber man verwenden ein kleines Skript um die Ports mit Python zu prüfen.
Die PowerShell funktioniert in der Regel hauptsächlich unter Windows Betriebssysteme, obwohl man Sie auch macOS oder Linux installiert werden kann. Für die letzten beiden Systeme kommt dann auch jeher das Python-Skript infrage.
Script: Mit Python offene Ports anzeigen
In Python kann man mithilfe von verschiedenen Bibliotheken offene Ports anzeigen lassen. Eine gängige Methode besteht darin, die socket-Bibliothek zu verwenden. Dieses kleine Beispiel zeigt ein einfaches Skript, mit welchem ein Port getestet werden kann.
Es wird die socket-Bibliothek verwendet, um ein Socket-Objekt zu erstellen und eine Verbindung zum angegebenen Host und Port herzustellen. Wenn eine Verbindung erfolgreich hergestellt werden kann, bedeutet dies, dass der Port belegt ist.
Andernfalls wird eine Ausnahme ausgelöst, und man kann davon ausgehen, dass der Port frei ist.
Die host- und port-Variablen müssen entsprechend anzupassen werden, um den gewünschten Host und Port zu testen. In diesem Beispiel wird der Port 80 vom Localhost getestet. Der Port 80 ist dabei standardmäßig für das HTTP Protokoll zuständig.
Beachten sollte man jedoch noch, dass die Firewall-Einstellungen auf dem Zielrechner den Zugriff auf den Port blockieren kann, unabhängig davon, ob er tatsächlich frei oder belegt ist.
import socket
def is_port_open(host, port):
try:
# Erstellet ein Socket-Objekt
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
# Setzen eine kurze Timeout-Zeit, um das Blockieren zu verhindern
s.settimeout(1)
# Versuchen jetzt ein Verbindung zum angegebenen Host und Port herzustellen
s.connect((host, port))
# Wenn die Verbindung erfolgreich war, ist der Port belegt
return True
except (socket.timeout, ConnectionRefusedError):
# Wenn eine Ausnahme ausgelöst wird, ist der Port frei
return False
# Testen, ob der Port 80 auf localhost (127.0.0.1) frei ist
host = "127.0.0.1"
port = 80
if is_port_open(host, port):
print(f"Port {port} auf {host} ist belegt.")
else:
print(f"Port {port} auf {host} ist frei.")
Für die Erstellung wurde Visual Studio Code verwendet. Wie man an der Ausgabe sieht, ist der Port 80 auf dem localhost frei.

Fazit
Auf die Erläuterung der einzelnen Funktionen und der Syntax von Python habe ich bewusst verzichtet. Es gibt im Netz genügend Kurse, um sich mit der Programmiersprache Python zu beschäftigen.
Es geht hier lediglich um das Skript, um Mit Python offene Ports anzeigen zu lassen.
Das könnte sich auch interessieren:
- Windows, Aufgabenplanung und Python: Wie man ein Skript automatisch startet
- Python Bootcamp: Vom Anfänger zum Profi, inkl. Data Science*
- So installiert man die beliebte Programmiersprache Python unter Windows
- Terminal in Windows – 5 Methoden
Keine Produkte gefunden.










