Problem mit Netzwerkprogrammierung
Verfasst: Mittwoch 4. September 2013, 10:54
Hallo,
schlage mich auch gerade mit meinen ersten Schritten in der Netzwerkprogrammierung mit Python.
Leider finde ich meinen fehler hier nicht?!
Wenn ich diesen Code ausführe komme ich bis
"try 1 173.194.70.94"
Kann mir jemand weiterhelfen?
Edit: Ich verwende Python 2.7 und Sublime Text 3
schlage mich auch gerade mit meinen ersten Schritten in der Netzwerkprogrammierung mit Python.
Leider finde ich meinen fehler hier nicht?!
Code: Alles auswählen
import socket
def traceroute():
#dest = raw_input('Bitte geben sie eine Adresse ein: ')
#if dest == None:
# dest = 'google.de'
# Variablen
dest = 'google.de'
destination = socket.gethostbyname(dest)
port = 33434
#verwendete Protokolle
icmp = socket.getprotobyname('icmp')
udp = socket.getprotobyname('udp')
#Timetolive + maximale spruenge
ttl = 1
max_hops = 30
while ttl < max_hops:
# Socket zum empfangen
receive_socket = socket.socket(socket.AF_INET, socket.SOCK_RAW, icmp)
# Socket fuer senden
send_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, udp)
# ttl wird geaendert
send_socket.setsockopt(socket.SOL_IP, socket.IP_TTL, ttl)
#bind socket + send
receive_socket.bind(("",port))
send_socket.sendto("",(destination, port))
# erstelle leere Variablen
current_addr = None
current_name = None
try:
print "try 1 " + destination
#ersten 512 bits des Empfangenen Objekts
daten,current_addr = receive_socket.recvfrom(512)
# ip adresse aus dem array
current_addr = current_addr[0]
try:
print "try 2"
current_name = socket.gethostbyaddr(current_addr)
#fehler abfangen
except socket.error:
current_name = current_addr
#fehler abfangen
except socket.error:
print "Fehler Socket"
break
finally:
print "finally"
#sockets schliessen
send_socket.close()
receive_socket.close()
if current_addr is not None:
current_host = "%s (%s)" %(current_name, current_addr)
else:
curr_host = "*"
print "%d\t%s" %(ttl, current_host)
#abbrechen falls noetig
if current_addr == destination:
break
# ttl erhoehen
ttl += 1
print traceroute()
"try 1 173.194.70.94"
Kann mir jemand weiterhelfen?
Edit: Ich verwende Python 2.7 und Sublime Text 3