Frage zu gethostbyaddr()

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
lzzp
User
Beiträge: 3
Registriert: Mittwoch 16. Januar 2019, 11:42

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
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
lzzp
User
Beiträge: 3
Registriert: Mittwoch 16. Januar 2019, 11:42

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
Benutzeravatar
ThomasL
User
Beiträge: 1385
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

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?
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du hast eine fehlende schließende Klammer.
Benutzeravatar
__blackjack__
User
Beiträge: 14295
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Das `ipadress`-Modul könnte hier auch nützlich sein.
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
martinb
User
Beiträge: 1
Registriert: Mittwoch 27. Februar 2019, 10:58

fehlende schließende Klammer
Antworten