Zielcomputer verweigert verbindung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Tom12
User
Beiträge: 48
Registriert: Mittwoch 17. Januar 2018, 17:38

Ich bastel gerade an einem kleinen Port scanner.
jedesmal wenn ein Port nicht "Antwortet" weil er nicht offen ist bekomme ich eine Fehlermeldung und das Script bricht ab.
allerdings soll falls keine Verbindung aufgebaut werden kann einfach den nächsten port scannen

bitte um hilfe.

while port <= 5000:
if port <= 5000:
conn = Scanner.connect((host, port))
if conn == 0:
print("keine Verbindung Port: ", port)
else:
print("Verbindung getestet Port:", port)
port = port + 1
Benutzeravatar
kbr
User
Beiträge: 1507
Registriert: Mittwoch 15. Oktober 2008, 09:27

Die if-Abfrage brauchst Du nicht und ich rate jetzt mal, dass der von Dir nicht wiedergegebene Fehler in Zeile 3 (des hier geposteten Codes) auftritt. Genau den fängst Du dann mit einer Exception ab und machst weiter.
Sirius3
User
Beiträge: 18266
Registriert: Sonntag 21. Oktober 2012, 17:20

@Tom12: Eingerückt wird immer mit 4 Leerzeichen, nicht mal 3 oder 8. ›connect‹ hat keinen Rückgabewert und erst recht nicht 0, sondern wirft eine Exception, die Du in einem try-Block mit »except socket.error« abfängst. Statt while-Schleife wäre eine for-Schleife besser. Für jeden Connect-Versucht brauchst Du auch einen neuen Socket.
Antworten