Como dice el título he hecho un port scanner.
No es nada bueno, solo te dice si un puerto esta abierto o cerrado ademas de ser muy lento, aqui esta el code :
################################
# Escaner de puertos en python #
########## braulio23 ###########
###### foro.elhacker.net #######
################################
import socket
print "Escaner de puertos by braulio23\n"
raw_input()
host = raw_input("Indica el host : ")
numerouno = raw_input("Primer numero del rango : ")
numerodos = raw_input("Segundo numero del rango : ")
socket = socket.socket()
for puerto in range(int(numerouno),int(numerodos)):
try:
socket.connect((host,puerto))
print "Puerto "+str(puerto)+" abierto"
socket.close()
except :
print "Puerto "+str(puerto)+" cerrado."
raw_input()
osea
va de un rango hacia otro
y muestra un solo puerto abierto o todos ?
cuando llegue a casa lo voy a mirar.. voy a empezar a ver python tmb en estos dias
saludos
Muestra todos los puertos abiertos dentro del rango que especifiques.
Podrías mejorarlo utilizando split y asi ahorrarte una variable
import socket
print "Escaner de puertos by braulio23\n"
raw_input()
host = raw_input("Indica el host : ")
numerouno = raw_input("Rango de puertos(1-9999): ")
numerosplit = numerouno.split('-') #decimos a python que separe el rango que nos da siguiendo el patron - y quedara un array numerosplit = ('1','9999')
socket = socket.socket()
for puerto in range(int(numerosplit[0]),int(numerosplit[1])): #aqui llamamos al array y seleccionamos los valores el 0 es el primero y el 1 es el segundo 0 = 1 1 = 9999
try:
socket.connect((host,puerto))
print "Puerto "+str(puerto)+" abierto"
socket.close()
except :
print "Puerto "+str(puerto)+" cerrado."
raw_input()
Un saludo