port-per è una utility a riga di comando e una biblioteca Python che aiuta con le porte TCP locali managment.
Si può trovare una porta TCP localhost inutilizzata e ricordare l'associazione.
Questo può essere utile quando si installa una pila di software con più parti che necessitano di numeri di porta.
Nota strong>
Se siete alla ricerca di un porto temporanea poi socket.bind ((host, 0)) è la soluzione migliore:
>>> Presa import
>>> S = socket.socket ()
>>> S.bind (("", 0))
>>> S.getsockname ()
('0.0.0.0', 54485)
è necessario port-per quando avete bisogno di persistente numero di porta locale gratuito.
port-per è l'esatto opposto di s.bind ((host, 0)) è senso che non deve restituire le porte che s.bind ((host, 0)) potrebbe restituire (perché tali porti sono suscettibili di essere temporanea riassegnato da OS).
Ci sono diverse regole di porta per la sta cercando di seguire per trovare e restituire una nuova porta non utilizzata:
1. Porto deve essere inutilizzato: port-per controlli questo cercando di connettersi alla porta e di legarsi ad esso.
2. Port deve essere IANA assegnato e non altrimenti noto: questo è acheived mantenendo elenco delle porte non assegnato (analizzato da IANA e Wikipedia).
3. La porta non deve essere all'interno di porte effimere. Questo è importante perché le porte della gamma di porte effimere possono essere assegnati temporanea OS (ad esempio stack IP della macchina) e questo potrebbe impedire il riavvio del servizio in alcune circostanze. gimme_port non restituisce le porte di intervalli di porte effimere configurate sulla macchina corrente.
Inoltre sono applicati 4. Altre euristica: port-per tenta di restituire un porto da intervalli di porte più grandi; inoltre non ritorno porti troppo vicino a porte conosciute.
Installazione
A livello di sistema:
sudo easy_install port-per
utilizzo di script
port-per
Questa utility in realtà non vincola il porto o altrimenti impedisce la porta venga presa da un altro software. Esso però tenta di selezionare una porta che è meno suscettibile di essere utilizzato da un altro software (e che è inutilizzato fino al momento della chiamata naturalmente). Utility assicura anche che bar porto per non restituirà la stessa porta come porta-per foo sulla stessa macchina.
$ Sudo port-per foo
37987
$ Sudo port-per foo
37987
Si consiglia inoltre di anteporre il proprio nome app:
$ Sudo port-per instance1.apache
35456
Si prega di notare che la sceneggiatura porta-per richiede lettura e scrittura a /etc/port-for.conf così sudo può essere necessario per eseguirlo.
Utilizzo Biblioteca
>>> Port_for import
>>> Port_for.select_random ()
37774
>>> Port_for.select_random ()
48324
>>> 80 a port_for.available_good_ports ()
Falso
. Scavare in codice sorgente per maggiori
Requisiti :
- Python
I commenti non trovato