Port-pour est un utilitaire de ligne de commande et une bibliothèque Python qui aide avec les ports TCP locales managment.
Il peut trouver un port TCP utilisé localhost et ne oubliez pas l'association.
Cela peut être utile lorsque vous installez une pile de logiciel avec plusieurs parties nécessitant des numéros de port.
Remarque
Si vous êtes à la recherche d'un port temporaire, alors socket.bind ((hôte, 0)) est votre meilleur pari:
>>> Douille d'importation
>>> S = socket.socket ()
>>> S.bind (("", 0))
>>> S.getsockname ()
("0.0.0.0", 54485)
est nécessaire port lorsque vous avez besoin numéro de port local libre, persistante.
port pour est l'exact opposé de s.bind ((hôte, 0)) est le sens qu'il ne devrait pas revenir ports s.bind ((hôte, 0)) peut retourner (parce que ces ports sont susceptibles d'être réaffecté temporaire par OS).
Il ya plusieurs règles port pour tente à suivre pour trouver et retourner un nouveau port utilisé:
1. Port doit être utilisé: port-des contrôles en essayant de se connecter au port et à se lier à elle.
2. Port doit être IANA assigné et pas autrement bien connu: ce résultat est obtenu par le maintien de la liste des ports non affecté (analysé à partir IANA et Wikipedia).
3. Port ne devrait pas être à l'intérieur plage de ports éphémères. Ce est important parce que les ports de plage de ports éphémères peuvent être affectés temporairement par OS (par exemple par la pile IP de l'appareil), ce qui peut empêcher le redémarrage du service dans certaines circonstances. gimme_port ne retourne pas les ports de plages éphémères de port configurés sur la machine actuelle.
4. Autres heuristiques sont également appliqués: port-pour tente de retourner un port de plus grandes plages de ports; Il ne retourne pas les ports qui sont trop près de ports bien connus.
Installation
L'ensemble du système:
sudo port pour
Script utilisation
port pour
Cet utilitaire ne fait lie pas le port ou autrement empêche le port d'être prise par un autre logiciel. Il tente toutefois de sélectionner un port qui est moins susceptible d'être utilisé par un autre logiciel (et qui est utilisé au moment de l'appel, bien sûr). Utility se assure également que la barre de Port-pour ne reviendra pas le même port que le port-de foo sur la même machine.
$ Sudo port pour foo
37987
$ Sudo port pour foo
37987
Vous pouvez également faire précéder le nom de votre application:
$ Sudo port pour instance1.apache
35456
Se il vous plaît noter que script de port pour la lecture et d'écriture exige l'accès à /etc/port-for.conf donc sudo peut être nécessaire pour l'exécuter.
utilisation Bibliothèque
>>> Port_for d'importation
>>> Port_for.select_random ()
37774
>>> Port_for.select_random ()
48324
>>> 80 à port_for.available_good_ports ()
Faux
. Plonger dans le code source pour plus
Exigences :
- Python
Commentaires non trouvées