
Preciso que um sistema Linux escute em uma porta TCP e despeje o que recebe em um arquivo e/ou stdout. O sistema não possui o netcat instalado. Tenho permissões de root, mas não tenho permissão para adicionar novos aplicativos ao sistema por motivos de conformidade. É possível fazer isso com um script simples bash, perl ou python? Quanto mais simples, melhor.
Responder1
Para abrir uma porta aleatória usando Python:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 0))
Para descobrir qual porta você abriu:
s.getsockname()[1]
Para fechar a porta:
s.close()
Para mais informações, leiaa documentação do módulo soquete,o soquete como fazer, ouum tutorial de soquete.