Pues les dejo el code de mi Escaner de Puertos, nuevas funciones, algunos bugs...
Pros:
Ahora se puede escanear un rango de puertos y puertos diferentes a la vez...
Contras:
Hay un Error al escanear el Puerto 80 cuando se escanean puertos diferentes a la vez...
AQUI EL CODE:
Comentarios o sugerencias a mi Mail xD
Pros:
Ahora se puede escanear un rango de puertos y puertos diferentes a la vez...
Contras:
Hay un Error al escanear el Puerto 80 cuando se escanean puertos diferentes a la vez...
AQUI EL CODE:
#!/usr/bin/python
#by [Z]tuX 2011 :D
import sys, socket, string
ver = '1.2'
if (len(sys.argv)==1) or sys.argv[1]=="-h" or sys.argv[1]=="--help":
print '''
Escaner de Puertos by [Z]tuX
[+] Uso: scanner.py [HOST] [OPCIONES] [PUERTO(s)]
-h Muestra la ayuda
-v Muestra la Version del Programa
========================================
OPCIONES
========================================
-p --ports Escanea diferentes puertos:
[+] Ejemplo: scanner.py www.example.com -p 21,26,22,445
[+] Ejemplo: scanner.py www.example.com --ports 21,26,22,445
-r --range Escanea un rango de puertos:
[+] Ejemplo: scanner.py www.example.com -r 21-30
[+] Ejemplo: scanner.py www.example.com --range 21-30
-
'''
elif (sys.argv[1]=='-v') or (sys.argv[1]=='--version'):
print 'Version ' + ver
#ESCANEO DE UN SOLO PUERTO
elif len(sys.argv)==3:
host = sys.argv[1]
port = int(sys.argv[2])
print '[+] Escaneando a %s al puerto %s ' % (host, port)
cn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cn.connect( (host, port) )
if port==80:
cn.send('GET / HTTP/1.1\r\n')
cn.send('HOST: %s\r\n\r\n'%host)
data = cn.recv(1024)
cn.close()
if data=='':
print "Puerto %s - [*] Cerrado :(" % port
else:
print "Puerto %s - [*] Abierto :D" % port
elif (cn.recv(1024) ==''):
print "Puerto %s - [*] Cerrado :(" % port
cn.close()
else:
cn.close()
print "Puerto %s - [*] Abierto :D" % port
#Escaneo por rangos
elif sys.argv[2]=='-r' and len(sys.argv)==4 or sys.argv[2]=='--range' and len(sys.argv)==4:
host = sys.argv[1]
ports = str(sys.argv[3])
print '[+] Escaneando a %s en un rango de puertos %s ' % (host, ports)
ztux = ports.split('-')
for puerto in range(int(ztux[0]), int(ztux[1]) +1):
cn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cn.connect( (host, puerto) )
if puerto==80:
cn.send('GET / HTTP/1.1\r\n')
cn.send('HOST: %s\r\n\r\n'%host)
data = cn.recv(1024)
cn.close()
if data=='':
print "Puerto %s - [*] Cerrado :(" % puerto
else:
print "Puerto %s - [*] Abierto :D" % puerto
elif (cn.recv(1024) ==''):
print "Puerto %s - [*] Cerrado :(" % puerto
cn.close()
else:
cn.close()
print "Puerto %s - [+] Abierto :D" % puerto
#Escaneo de diferentes puertos
elif sys.argv[2]=='-p' and len(sys.argv)==4 or sys.argv[2]=='--ports' and len(sys.argv)==4:
host = sys.argv[1]
ports = sys.argv[3]
print '[+] Escaneando a %s a los puertos %s ' % (host, ports)
ztux = ports.split(',')
for puerto in ztux:
cn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cn.connect( (host, int(puerto)) )
if puerto==80:
cn.send('GET / HTTP/1.1\r\n')
cn.send('HOST: %s\r\n\r\n'%host)
data = cn.recv(1024)
cn.close()
if data=='':
print "Puerto %s - [*] Cerrado :(" % puerto
else:
print "Puerto %s - [*] Abierto :D" % puerto
elif (cn.recv(1024) ==''):
print "Puerto %s - [*] Cerrado :(" % puerto
cn.close()
else:
cn.close()
print "Puerto %s - [+] Abierto :D" % puerto
else:
print u'\n>>> Teclea -h o --help para mas informaci\xf3n'
#[Z]TuX
#E[N]D
Comentarios o sugerencias a mi Mail xD
Comments
0 Response to 'Escaner de Puertos by [Z]tuX v1.2 [Python]'
Publicar un comentario