Seite 1 von 1

Frage zu gethostbyaddr()

Verfasst: Donnerstag 21. Februar 2019, 16:33
von lzzp
Hi,

kurze Anfängerfrage:
das script unten funktioniert, nur leider hat es ein kleines Problem und zwar bricht es, wenn kein host zurückgegeben wird, ab.
Wie kann ich hier weiter vorgehen?

Code: Alles auswählen

import socket
ip = "192.168.1."

for x in range(0,255):
	x = x+1
	print(socket.gethostbyaddr(ip+str(x)))

vielen dank und beste Grüße
lzzzp

Re: Frage zu gethostbyaddr()

Verfasst: Donnerstag 21. Februar 2019, 16:47
von __deets__
Du kannst den range auch gleich von 1 bis 256 gehen lassen, dann sparst du dir das rumgerechne.

Dann solltest du mit Stringformatting arbeiten, zB

Code: Alles auswählen

ip_prefix = "192.168.1.{}"

for ...:
      address = ip_prefix.format(x)
Und zu deiner eigentliche Frage: das Thema um das es geht heisst "Exception Handling" und sollte in jedem Grundlagentutorial ausreichend behandelt werden.

Re: Frage zu gethostbyaddr()

Verfasst: Donnerstag 21. Februar 2019, 17:13
von lzzp
Danke für den Tip!
Hab´s jetzt so umgebaut:

Code: Alles auswählen

import socket
ip = "192.168.1.{}"

for x in range(1,256):
	address = ip.format(x)
	print(socket.gethostbyaddr(address)
	#print(address)
Leider klappt das nicht, es wird SyntaxError in line 8 angezeigt - das Script hat aber nur 7Zeilen?


LG

Re: Frage zu gethostbyaddr()

Verfasst: Donnerstag 21. Februar 2019, 17:15
von ThomasL
lzzp hat geschrieben: Donnerstag 21. Februar 2019, 16:33

Code: Alles auswählen

for x in range(0,255):
	x = x+1
Was soll denn das erhöhen der Schleifenvariable x in der Schleife bewirken?

Re: Frage zu gethostbyaddr()

Verfasst: Donnerstag 21. Februar 2019, 17:43
von __deets__
Du hast eine fehlende schließende Klammer.

Re: Frage zu gethostbyaddr()

Verfasst: Donnerstag 21. Februar 2019, 18:52
von __blackjack__
Das `ipadress`-Modul könnte hier auch nützlich sein.

Re: Frage zu gethostbyaddr()

Verfasst: Mittwoch 27. Februar 2019, 11:00
von martinb
fehlende schließende Klammer