En redes informáticas , un puerto es un punto virtual donde comienzan y terminan las conexiones de red. Es como una puerta abierta de tu casa. Si no la cierras, cualquiera puede entrar a tu casa. Un escáner de puertos es un programa que busca puertos en una red e intenta encontrar qué puertos están virtualmente abiertos y cerrados. Es una técnica común que utilizan los piratas informáticos o los expertos en seguridad cibernética para descubrir puertas abiertas o puntos débiles en una red.
¿Cómo funciona un programa de escáner de puertos?
Este programa envía una solicitud de red a través de la red e intenta conectarse a un puerto TCP o UDP específico en una computadora y registra la respuesta.
Los tres tipos de respuestas son los siguientes:
- Abierto, Aceptado : cuando los puertos están abiertos y puede acceder a este sistema a través de ellos.
- Cerrado, sin escuchar : cuando este puerto está en uso o no está disponible en este momento
- Filtered, Dropped, Blocked : La computadora ni siquiera se molesta en responder.
Diseñe un escáner de puertos en Kali Linux Terminal usando Python
Paso 1: Diseñe un programa
Al principio, debemos abrir nuestra terminal Kali Linux y lo primero que debemos hacer es averiguar dónde está nuestro intérprete de python para que ordenemos
Sintaxis:
which python
Eso va a ser importante cuando hagamos este próximo paso.
En el siguiente paso, debemos abrir el shell porque allí vamos a escribir nuestro código, por lo que podemos escribir el comando nano y presionar enter.
Sintaxis:
nano (name).extension
Ejemplo:
nano port-scanner.py
Ahora aquí, al principio, debemos asignar la ubicación de nuestro intérprete de Python
#!//usr/bin/python
Ahora nuestro programa principal comienza, queremos importar sockets , los sockets nos dirán los puertos, cómo operar y esencialmente cómo transmitir datos.
import socket
Luego necesitamos ingresar las direcciones IP y después de eso, también necesitamos un programa para preguntar qué puerto estamos buscando.
ip = raw_input("enter the IP Address: ") port = input("Enter the Port Number: ")
Ahora queremos definir el socket qué tipo de datos transmitidos estamos buscando para ser más específicos qué protocolo estamos pidiendo ver.
- socket.AF_INET este socket nos permite ver la conexión TCP
- SOCK_STREAM esto nos permite ver el protocolo UDP que esencialmente transmite video y audio
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
Ahora vamos a imprimir cómo nuestro programa nos muestra si el puerto específico está abierto o si la IP está inactiva o si el puerto está cerrado.
if sock.connect_ex((ip,port)): print "Port ",port, "is closed" else: print"Port",port,"is OPEN"
Ahora guarde este programa presione la tecla control + tecla x para guardar este programa
Sintaxis:
cnrl+x
Paso 2: compilar y ejecutar el programa
Todos sabemos cómo ejecutar un script en la terminal Kali Linux
Ejemplo
./script name . extension
Sintaxis
./port-scanner.py
Mire aquí está la parte difícil , escribimos nuestro programa perfectamente, pero no está compilado y ejecutado. Así que es hora de dar nuestro permiso del sistema.
Chmod 775 es un comando de Linux que establece permisos para que el usuario/propietario pueda leer, escribir y ejecutar. El grupo puede leer, escribir y ejecutar. Otros pueden leer pero no pueden escribir ni ejecutar.
Sintaxis
chmod 775 ./port-scanner.py
Ahora podemos ejecutar nuestro programa nuevamente, y se compilará y ejecutará con éxito
Sintaxis
./port-scanner.py
Prueba Nuestro programa
Entonces, para el escaneo de puertos, necesitamos una IP específica, y debemos decirle a nuestro programa qué puerto estamos buscando después de que la entrada presione Enter
Ejemplo
Enter Your Ip Address : 192.168.43.1 Enter The Port Number : 80