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 .