Una de las tareas más difíciles cuando se trabaja en un equipo de proyecto es realizar las pruebas de conectividad necesarias aunque los servicios no existan.
Esto es lo que hay que hacer a menudo cuando se trabaja en un entorno DMZ para la migración o para nuevos proyectos. Pongamos un ejemplo en tiempo real: está trabajando en una migración y tiene que asegurarse de que existe conectividad entre la aplicación «A» y la «B» en un puerto concreto.
Pues bien. Es sencillo puede realizar telnet
pero ¿qué pasa cuando «B» no tiene ningún servicio en ejecución? Ahí es donde necesita que el oyente de puertos le ayude en esta situación.
Si usted tiene una situación similar o siente que esto sería beneficioso para usted en el trabajo, entonces aquí hay algunas maneras de lograr esto en Windows o plataforma UNIX.
Para crear un post listener en el SO Windows
Para tener un oyente de puerto en un puerto específico en Windows, puede utilizar la utilidad «Port Listener».
Esta utilidad está disponible gratuitamente para Windows 95 a Windows 10.
- Descargue Post Listener en formato zip o exe desde aquí
- En esta guía, descargaré el formato exe
- Haga doble clic en el archivo postlistener.exe descargado
- Le pedirá que seleccione la ubicación para extraer los archivos, haga clic en descomprimir
- Vaya a la ruta donde ha extraído los archivos, en este ejemplo; yo tengo en c:listener
- Haga doble clic en listener para iniciar la utilidad
- Introduzca el número de puerto que desea probar y haga clic en iniciar
- En el ejemplo anterior, he iniciado la escucha del puerto en 5500, y es el momento de validar si se está ejecutando.
Abra un símbolo del sistema y ejecute netstat para validar si el puerto 5500 está escuchando
Así que sí, ahora he creado con éxito un puerto de escucha en Windows.
Para crear un post listener en Linux OS
El procedimiento es ligeramente diferente en Linux; aquí utilizaremos el comando netcat (nc) para iniciar el listener.
- Para instalar nc, puede utilizar el comando yum
yum install nc
- Una vez instalado, utilice el siguiente comando para iniciar el puerto de escucha como 5500 en segundo plano.
nc -l 5500 &
- Para validarlo, utilicemos el comando netstat
[root@Chandan ~]# netstat -anlp |grep 5500 tcp 0 0.0.0.0:5500 0.0.0.0:* LISTEN 21085/nc [root@Chandan ~]#
Así que aquí tengo el puerto 5500 escuchado con éxito. Hacer esto en Linux es algo más cómodo, ¿verdad?
Para crear un puerto escuchador usando Python
Los dos ejemplos anteriores están limitados al sistema operativo. ¿Qué tal tener un script en python que pueda funcionar en Windows o UNIX?
Bueno, encontré el siguiente código python que funciona tanto en Windows como en Linux. Cree un archivo – digamos portlistener.py con el siguiente código
''' Simple servidor de sockets usando hilos
'''
importar socket
importar sys
HOST = '' # Nombre simbólico, que significa todas las interfaces disponibles
PORT = 5500 # Puerto arbitrario no privilegiado
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket creado'
#Bind socket to local host and port
intente:
s.bind((HOST, PORT))
except socket.error as msg:
print 'Bind failed. Código de error : ' str(msg<x>[0]</x>) ' Mensaje ' msg<x>[1]</x>
sys.exit()
print 'Socket bind complete'
#Iniciar la escucha en el socket
s.listen(10)
print 'Socket ahora escuchando'
#ahora siga hablando con el cliente
while 1:
#espera a aceptar una conexión - llamada de bloqueo
conn, addr = s.accept()
print 'Conectado con ' addr<x>[0]</x> ':' str(addr<x>[1]</x>)
s.cerrar()
Guarde el archivo y ejecútelo con el comando python como se muestra a continuación
[root@Chandan ~]# python portlistener.py Socket creado Socket bind completado Socket escuchando ahora
¿Está interesado en aprender Python? Consulte este curso en línea.
Espero que el procedimiento anterior le ayude a crear un puerto de escucha para las pruebas de conectividad.