porta-for é um utilitário de linha de comando e uma biblioteca Python que ajuda com as portas TCP locais gestão.
É possível encontrar uma porta localhost TCP não utilizadas e lembre-se da associação.
Isso pode ser útil quando você está instalando uma pilha de software com várias peças que necessitam de números de porta.
Nota strong>
Se você está procurando uma porta temporária então socket.bind ((host, 0)) é a melhor opção:
>>> Tomada de importação
>>> S = socket.socket ()
>>> S.bind (("", 0))
>>> S.getsockname ()
('0.0.0.0', 54485)
é necessário porta-para quando você precisa persistente número de porta local livre.
porta-for é exatamente o oposto do s.bind ((host, 0)) é sentido de que não deve retornar portas que s.bind ((host, 0)) pode retornar (porque essas portas são susceptíveis de ser temporário reatribuída por OS).
Existem várias regras porta-for está tentando seguir para encontrar e devolver uma nova porta não utilizada:
1. Porto deve ser não utilizado: port-cheques para isso, tentando conectar-se à porta e de se ligar a ele.
2. Porto deve ser IANA não atribuído e de outra forma não conhecida: Isto é conseguido através da manutenção de lista de portas não atribuído (analisado a partir IANA e Wikipedia).
3. Porto não deve estar dentro de intervalo de portas efêmeras. Isto é importante porque os portos de intervalo de portas efêmeras pode ser atribuído temporária por OS (por exemplo, por pilha IP da máquina) e isso pode impedir o reinício do serviço em algumas circunstâncias. não gimme_port não retornar portos de intervalos de portas efêmeras configurados na máquina atual.
4. Outras heurísticas também são aplicadas: port-para tenta retornar uma porta de intervalos de portas maiores; ele também não retorna portas que estão muito perto de portas conhecidas.
Instalação
De todo o sistema:
sudo easy_install porta-for
Uso Script
porta-para
Este utilitário realmente não ligar a porta ou não impede que o porto de ser tomada por outro software. É no entanto tenta seleccionar uma porta que é menos provável de ser usado por outro software (e que não é utilizado no momento da chamada, é claro). Utility também garante que bar porta-para não retornará a mesma porta como porta-for foo na mesma máquina.
$ Sudo port-de foo
37987
$ Sudo port-de foo
37987
Você também pode querer prefixar o nome do aplicativo:
$ Sudo port-de instance1.apache
35456
Por favor, note que o roteiro porta-for requer ler e escrever o acesso a /etc/port-for.conf assim sudo pode ser necessário a fim de executá-lo.
uso Biblioteca
>>> Port_for importação
>>> Port_for.select_random ()
37774
>>> Port_for.select_random ()
48324
80 >>> em port_for.available_good_ports ()
Falso
. Cavar no código-fonte para mais
Requisitos :
- Python
Comentários não encontrado