ich hab mir kürzlich ein Buch zu Python gekauft und nun versuche ich einen kleinen Scanner zu schreiben, welcher
guckt wie die Antwort verschiedener Ports von verschiedenen IP-Adressen auf meinen Verbindungsversuch lautet (so verstehe ich zumindest das Script).
Ich hab mich hierbei nach der Anleitung gerichtet und bemerkt das der offizielle Quellcode, welcher ein wenig modifiziert wurde, nicht mal funktioniert.
Nachdem ich von Sockets keine Ahnung habe, wäre es nett wenn jmd mal drüber gucken könnte und mir sagen könnte was da am schieflaufen ist.
Code: Alles auswählen
import socket
def retBanner(ip, port):
try:
socket.setdefaulttimeout(2)
s = socket.socket()
s.connect((ip, port))
banner = s.recv(1024)
return banner
except:
print "ERROR - couldn't connect."
return
def checkVulns(banner):
if 'FreeFloat Ftp Server (Version 1.00)' in banner:
print '[+] FreeFloat FTP Server is vulnerable.'
elif '3Com 3CDameon FTP Server Version 2.0' in banner:
print '[+] 3CDameon FTP Server is vulnerable.'
elif 'Ability Server 2.34' in banner:
print '[+] Ability Server 2.34 is vulnerable.'
elif 'Sami FTP Server 2.0.2' in banner:
print 'Sami FTP Server is vulnerable.'
else:
print '[-] FTP Server is not vulnerable.'
return
def main():
portList = [21,22,25,80,110,443]
for x in range(1, 255):
ip = '192.168.0.' + str(x)
for port in portList:
banner = retBanner(ip, port)
if banner:
print '[+] ' + ip + ': ' + banner
checkVulns(banner)
if __name__ == '__main__':
main()
Den Error Code bei retBanner(ip,port) nach except hab ich selbst hingeschrieben, nachdem ich ansonsten gar keine Antwort zurück bekommen habe.
So weiß ich zumindest, dass es nicht geht.
Er scheint jedoch mehrere Sachen zu überprüfen, da der Error Code ins unendliche schießt (gefühlt).
Bei einem ähnlichen (einfacheren) Code, welcher auf dem gleichen Prinzip basiert, bekomme ich immer die Fehlermeldung "[Errno 111] Connection refused".
Also entweder bin ich zu dumm dafür, oder das Buch verzapft mir was falsches, da dieser Code eigentlich abgetippt ist.
Hoffe ihr könnt mir helfen.
Grüße