Port-pro je nástroj příkazového řádku a knihovna, Python, který pomáhá s místními TCP porty jeřábové.
Je možné najít nepoužitý TCP localhost portu a pamatovat sdružení.
To může být užitečné při instalaci stoh softwaru s více částí, které je třeba čísla portů.
Poznámka:
Máte-li zájem o dočasné portu pak socket.bind ((host, 0)), je vaše nejlepší sázka:
>>> Socket import
>>> S = socket.socket ()
>>> S.bind (("", 0))
>>> S.getsockname ()
("0.0.0.0", 54485)
Je nezbytné, port-, když budete potřebovat číslo trvalé bezplatné místní port.
Port-pro je přesný opak toho, s.bind ((host, 0)), je pocit, že by se nemělo vracet porty, které s.bind ((host, 0)) může vrátit (protože tyto porty jsou pravděpodobně dočasný převelen OS).
Existuje několik pravidel, port-pro je snaží dodržovat najít a vrátit nový nepoužívaný port:
1. Port musí být nepoužitý: port-pro kontrolu tím, že se snaží připojit k portu a vázat se na to.
2. Port musí být IANA unassigned a jinak dobře známé: toto je dosaženo tím, že udržuje nepřiřazenou seznam portů (analyzován z IANA a Wikipedia).
3. Port by neměl být uvnitř dočasný rozsah portů. To je důležité proto, že porty z dočasných rozsahu portů může být přiřazena dočasné OS (např IP zásobníku stroje), a to může zabránit služby restart za určitých okolností. gimme_port nevrátí porty z pomíjivých rozsahů portů nakonfigurovaných na aktuálním počítači.
4. Další heuristika jsou také použity: port-for pokusí vrátit do přístavu, z větších rozsahů portů; to také nevrátí porty, které jsou příliš blízko k dobře známé porty.
Instalace
V celém systému:
sudo easy_install port-pro
Script použití
Port-for
Tento nástroj není ve skutečnosti váže port nebo jinak brání port před pořízena jiným softwarem. To se však snaží vybrat port, který je méně pravděpodobné, že budou používány jiným softwarem (a to je nepoužitý v okamžiku volání samozřejmě). Nástroj také zajistí, že port pro bar nevrátí stejný port jako přístav, pro pot na stejném počítači.
$ Sudo port-pro pot
37987
$ Sudo port-pro pot
37987
Můžete také chtít, aby předponu vaše jméno app:
$ Sudo port-pro instance1.apache
35456
Vezměte prosím na vědomí, že port pro scénář vyžaduje pro čtení a zápis do /etc/port-for.conf takže sudo může být nezbytné, aby ji spustit.
Knihovna použití
>>> Import port_for
>>> Port_for.select_random ()
37774
>>> Port_for.select_random ()
48324
>>> 80 v port_for.available_good_ports ()
Falešný
, Kopat do zdrojového kódu pro více
Požadavky na :
- Python
Komentáře nebyl nalezen