¿Es posible abrir un puerto para escuchar sin netcat?

¿Es posible abrir un puerto para escuchar sin netcat?

Necesito que un sistema Linux escuche en un puerto TCP y descargue lo que recibe en un archivo y/o salida estándar. El sistema no tiene netcat instalado. Tengo permisos de root, pero no puedo agregar nuevas aplicaciones al sistema por motivos de cumplimiento. ¿Es posible hacer esto con un simple script bash, perl o python? Cuanto más sencillo, mejor.

Respuesta1

Para abrir un puerto aleatorio usando Python:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 0))

Para saber qué puerto ha abierto:

s.getsockname()[1]

Para cerrar el puerto:

s.close()

Para más información, leala documentación para el módulo de socket,el zócalo cómo hacerlo, oun tutorial de enchufe.

información relacionada