bricht bei getservbyport ab

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
Craven
User
Beiträge: 223
Registriert: Dienstag 24. Januar 2006, 13:37

Hi.
Ich habe versucht, ein Programm zu schreiben, dass die ports abtastet und diese, bei ergebnis in eine Textdatei schreibt. Das Problem ist, dass das Programm sofort nach getservbyport abbricht, nach dem es port 1 überprüft hat und zurückgibt dass für diesen port nichts vorhanden ist, ohne den nachfolgenden Code zu berücksichtigen.
Hier das Anfangsscript:

Code: Alles auswählen

import os, sys, socket

port_to_file = open("C:\\test\port.txt", "w")
for x in range(1, 1001):
    port_service = socket.getservbyport(x)
.
.
.
Wie würdet ihr das machen?
MfG,
Craven
[code]q = 'q = %s; print q %% repr(q)'; print q % repr(q) [/code]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich würde an deiner Stelle die socket.error-Exception abfangen und einfach ignorieren oder das in der Logdatei verzeichnen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Craven
User
Beiträge: 223
Registriert: Dienstag 24. Januar 2006, 13:37

Hi Leonidas,
Danke für die schnelle Antwort!
Ich hab das so gemacht:

Code: Alles auswählen

import os, sys, socket

port_to_file = open("C:\\test\port.txt", "w")
for x in range(80, 1001):
     try:
         port_service = socket.getservbyport(x) + "\n"
         port_to_file.write(port_service)
     except socket.error:
         pass
MfG,
Craven
[code]q = 'q = %s; print q %% repr(q)'; print q % repr(q) [/code]
Antworten