Un saludo cordial, lincesas y manquinolas.
Deseo poder compartir con todos ustedes algo que vengo practicando con python, espero sea de ayuda para algunos o puedan corregirme.
Ya habiendo encontrado las ip's activas en la red como se ve .
A continuación veremos si los puertos están corriendo, nos interese directamente:
Y de igual manera podemos ver otros puertos que nos interesen en este caso se realiza el escaneo de estos puertos para poder realizar mas adelante mas code con python.
ipScanPort.py
Se importa los siguientes módulos: urllib2(para tratar con paginas), socket(conexión de red), optparse(adornar la entrada de datos), traceback(Ver la linea de error en las excepciones).
def http(ip): Usamos la función urlopen al cual le pasamos como parámetros la ip mas el http:// y vemos su información con la función info().
def ssh(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 22 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer.
def ftp(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 21 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer.
def ms(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 445 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer. ms solo es una variable.
def telnet(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 23 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer.
def dns(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 53 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer.
def main(): Esta función se encarga de pedir los datos necesarios con optparse. Y lee el contenido del archivo donde estén la lista de las ip's y van ejecutando cada función para cada ip.
Para ejecutar el código sera de la siguiente manera.
python ipScanPort.py -l lista.txt
donde:
-l , Es el archivo que contenga una lista de direcciones ip's. Eje. 192.168.1.168

Deseo poder compartir con todos ustedes algo que vengo practicando con python, espero sea de ayuda para algunos o puedan corregirme.
Ya habiendo encontrado las ip's activas en la red como se ve .
A continuación veremos si los puertos están corriendo, nos interese directamente:
- Protocolo:http puerto:80
- Protocolo:ssh puerto:22
- Protocolo:ftp puerto:21
- Protocolo:Microsoft-DS puerto:445
- Protocolo:telnet puerto:23
- Protocolo: DNS puerto:53
Y de igual manera podemos ver otros puertos que nos interesen en este caso se realiza el escaneo de estos puertos para poder realizar mas adelante mas code con python.
ipScanPort.py
#!/usr/bin/python
import urllib2
import socket
import optparse
import traceback
def http(ip):
try:
c = urllib2.urlopen("http://"+str(ip))
print('[+] HTTP - {0}'.format(c.info()))
c.close()
except Exception, e:
print('[-] HTTP - {0}'.format(ip))
def ssh(ip):
try:
socket.setdefaulttimeout(5)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 22))
print('[+] SSH - {0} {1}'.format(ip, str(s.recv(33333)) ))
s.close()
except Exception, e:
print('[-] SSH - {0} '.format(ip))
def ftp(ip):
try:
socket.setdefaulttimeout(5)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 21))
print('[+] FTP - {0} {1}'.format(ip, str(s.recv(33333)) ))
s.close()
except Exception, e:
print('[-] FTP - {0}'.format(ip))
def ms(ip):
try:
socket.setdefaulttimeout(5)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 445))
print('[+] MS - {0} {1}'.format(ip, str(s.recv(33333)) ))
s.close()
except Exception, err:
print('[-] MS - {0} '.format(ip))
def telnet(ip):
try:
socket.setdefaulttimeout(5)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 23))
s.close()
print('[+] Telnet - {0} {1}'.format(ip, str(s.recv(33333)) ))
except Exception, err:
print('[-] Telnet - {0} '.format(ip))
def dns(ip):
try:
socket.setdefaulttimeout(5)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 23))
print('[+] DNS - {0} {1}'.format(ip, str(s.recv(33333)) ))
s.close()
except Exception, err:
print('[-] DNS - {0} '.format(ip))
def main():
try:
pr = optparse.OptionParser(" python ipScanPort.py -l [IP's.txt]")
pr.add_option('-l', '--lista', dest='list', type='string', help="Nombre del archivo donde estan las IP's")
(opt, args) = pr.parse_args()
if opt.list == None:
print pr.parse_args()
exit(0)
else:
with open(opt.list, 'r') as ips:
for ip in ips.readlines():
print " IP : " + str(ip)
http(ip)
ssh(ip)
ftp(ip)
ms(ip)
telnet(ip)
dns(ip)
print('n')
except Exception, err:
print('Error Main : {0}'.format(err))
print traceback.format_exc()
if __name__ == '__main__':
main()
Se importa los siguientes módulos: urllib2(para tratar con paginas), socket(conexión de red), optparse(adornar la entrada de datos), traceback(Ver la linea de error en las excepciones).
def http(ip): Usamos la función urlopen al cual le pasamos como parámetros la ip mas el http:// y vemos su información con la función info().
def ssh(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 22 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer.
def ftp(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 21 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer.
def ms(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 445 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer. ms solo es una variable.
def telnet(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 23 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer.
def dns(ip): Usamos la función connect al cual le pasamos como parámetros la ip y el puerto 53 y con la funcion recv(3333), recivimos informacion de el puerto, en un total de 3333 de tamaño de buffer.
def main(): Esta función se encarga de pedir los datos necesarios con optparse. Y lee el contenido del archivo donde estén la lista de las ip's y van ejecutando cada función para cada ip.
Para ejecutar el código sera de la siguiente manera.
python ipScanPort.py -l lista.txt
donde:
-l , Es el archivo que contenga una lista de direcciones ip's. Eje. 192.168.1.168
