É possível abrir uma porta para escutar sem o netcat?

3

Eu tenho uma necessidade de um sistema Linux para escutar em uma porta TCP e despejar o que ele recebe em um arquivo e / ou stdout. O sistema não possui o netcat instalado. Eu 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 simples script bash, perl ou python? Quanto mais simples, melhor.

    
por MrDrMcCoy 17.07.2014 / 23:42

1 resposta

3

Para abrir uma porta aleatória usando o 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, leia a documentação do módulo de soquete , o soquete como ou um tutorial de soquete .

    
por 18.07.2014 / 00:00