<gh_stars>0
#|/bin/python
'''
<NAME>
Plan de Becarios generacion 13
Curso: Pruebas de penetracion

Programa que escanea una IP y detenrmina los puertos
abiertos con ayuda de scapy.
'''

import time
from scapy.all import *
# IP a escanear
ip = "192.168.2.70"
# Cuenta de puertos cerrados
closed_ports = 0
# Arreglo donde almacenaremos los puertos abiertos que encontremos.
open_ports = []

# Funcion que no ayuda a determinar si el equipo con la IP solicitada esta encendida
def is_up(ip):
    # Realizamos un PING
    icmp = IP(dst=ip)/ICMP()
    resp = sr1(icmp, timeout=10)
    if resp == None:
        return False
    else:
        return True

if __name__ == '__main__':
    # Deshabilitamos el modo verbose en sr(), sr1()
    conf.verb = 0
    # Rango de puertos a escanear 1 - 1024
    ports = range(1, 1024)
    if is_up(ip):
        print "Host %s esta encendido." % ip
        print "Iniciando escaneo..."
        for port in ports:
            # Establecemos un puerto aleatorio de origen por cada puerto a consultar, para evitar ser bloqueados.
            src_port = RandShort()
            # Creamos un request tipo TCP - SYN
            p_tcp = IP(dst=ip)/TCP(sport=src_port, dport=port, flags='S')
            # Envio request
            resp = sr1(p_tcp, timeout=2)
            if str(type(resp)) == "<type 'NoneType'>":
                closed_ports += 1 # aumentamos la cuenta
            elif resp.haslayer(TCP):
                # 0x12 = SYN/ACK Puerto Abierto
                if resp.getlayer(TCP).flags == 0x12:
                    send_rst = sr(IP(dst=ip)/TCP(sport=src_port, dport=port, flags='AR'), timeout=1)
                    open_ports.append(port) # Agregamos a la lista
                # 0x14 = SYN/RST Puerto Cerrado
                elif resp.getlayer(TCP).flags == 0x14:
                    closed_ports += 1 # aumentamos la cuenta
        if len(open_ports) != 0:
            for o_port in open_ports:
                print "%d open" % o_port
        print "%d puertos cerrados de %d puertos escaneados" % (closed_ports, len(ports))
    else:
        print "Host %s esta apagado." % ip

#|/bin/python
'''
<NAME>
Plan de Becarios generacion 13
Curso: Pruebas de penetracion

Programa que escanea una IP y detenrmina los puertos
abiertos con ayuda de scapy.
'''

import time
from scapy.all import *
# IP a escanear
ip = "192.168.2.70"
# Cuenta de puertos cerrados
closed_ports = 0
# Arreglo donde almacenaremos los puertos abiertos que encontremos.
open_ports = []

# Funcion que no ayuda a determinar si el equipo con la IP solicitada esta encendida
def is_up(ip):
    # Realizamos un PING
    icmp = IP(dst=ip)/ICMP()
    resp = sr1(icmp, timeout=10)
    if resp == None:
        return False
    else:
        return True

if __name__ == '__main__':
    # Deshabilitamos el modo verbose en sr(), sr1()
    conf.verb = 0
    # Rango de puertos a escanear 1 - 1024
    ports = range(1, 1024)
    if is_up(ip):
        print "Host %s esta encendido." % ip
        print "Iniciando escaneo..."
        for port in ports:
            # Establecemos un puerto aleatorio de origen por cada puerto a consultar, para evitar ser bloqueados.
            src_port = RandShort()
            # Creamos un request tipo TCP - SYN
            p_tcp = IP(dst=ip)/TCP(sport=src_port, dport=port, flags='S')
            # Envio request
            resp = sr1(p_tcp, timeout=2)
            if str(type(resp)) == "<type 'NoneType'>":
                closed_ports += 1 # aumentamos la cuenta
            elif resp.haslayer(TCP):
                # 0x12 = SYN/ACK Puerto Abierto
                if resp.getlayer(TCP).flags == 0x12:
                    send_rst = sr(IP(dst=ip)/TCP(sport=src_port, dport=port, flags='AR'), timeout=1)
                    open_ports.append(port) # Agregamos a la lista
                # 0x14 = SYN/RST Puerto Cerrado
                elif resp.getlayer(TCP).flags == 0x14:
                    closed_ports += 1 # aumentamos la cuenta
        if len(open_ports) != 0:
            for o_port in open_ports:
                print "%d open" % o_port
        print "%d puertos cerrados de %d puertos escaneados" % (closed_ports, len(ports))
    else:
        print "Host %s esta apagado." % ip
#|/bin/python <NAME> Plan de Becarios generacion 13 Curso: Pruebas de penetracion  Programa que escanea una IP y detenrmina los puertos abiertos con ayuda de scapy. # IP a escanear # Cuenta de puertos cerrados # Arreglo donde almacenaremos los puertos abiertos que encontremos. # Funcion que no ayuda a determinar si el equipo con la IP solicitada esta encendida # Realizamos un PING # Deshabilitamos el modo verbose en sr(), sr1() # Rango de puertos a escanear 1 - 1024 # Establecemos un puerto aleatorio de origen por cada puerto a consultar, para evitar ser bloqueados. # Creamos un request tipo TCP - SYN # Envio request # aumentamos la cuenta # 0x12 = SYN/ACK Puerto Abierto # Agregamos a la lista # 0x14 = SYN/RST Puerto Cerrado # aumentamos la cuenta