Ich versuche, einen Port-Scanner zu machen, wo der Benutzer eine Reihe von Ports zum Scannen auf einem Host eingeben kann, konvertiere ich die Eingabe von str zu int für den Bereich aber es sagt immer noch, dass es eine str ist. Hier ist mein Code:Selbst wenn ich ein Str zu int konvertiere, sagt es immer noch ein Str
os.system('cls')
host = raw_input('Enter hostname or IP address: ')
target = socket.gethostbyname(host)
# converts hostname to IP address
portRange1 = raw_input("Please enter the first number (x) in your range (x, y): ")
portRange2 = raw_input("Please enter the second number (y) in your range (" + portRange1 + ", y): ")
# asks user for range of ports to scan
portRange1 = int(portRange1)
portRange2 = int(portRange2)
# converts variables from str to int
os.system('cls')
# clears console screen
print 'Starting scan on host ' + target
for port in range(portRange1 + ", " + portRange2):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((target, port))
if result == 0:
print "Port {}: Open".format(port)
sock.close()
choice()
# scans for ports 0-1025 on host
choice()
Und mein Fehler ist:
File "swisshack_W2.py", line 61, in portScanner
for port in range(portRange1, ", ", portRange2):
TypeError: range() integer end argument expected, got str.
' ""' keine ganze Zahl ist. – user2357112
'für Port im Bereich (portRange1 +", "+ portRange2):' '", "' ist was mit dir irrende ich denke – Nullman
Auch der Code, den Sie gepostet werden, stimmt nicht mit der Fehlermeldung überein, die Sie gepostet haben. – user2357112