InicioLinuxUn poco de python 2 - Viendo puertos.

Un poco de python 2 - Viendo puertos.

Linux2/7/2015
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.

Un poco de python 2 - Viendo puertos.

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.

redes

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()


puertos


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



hacking
Datos archivados del Taringa! original
42puntos
172visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

e
ecadlr🇦🇷
Usuario
Puntos0
Posts2
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.