ポートのためのコマンドラインユーティリティとローカルTCPポートのmanagmentに役立ちますPythonのライブラリです。
これは、未使用のTCP localhostのポートを見つけて、関連を覚えることができる。
あなたは、ポート番号を必要とする複数のパーツを使用してソフトウェアのスタックをインストールしている場合に便利です。
<強い>
の注意
あなたは一時的なポートを探しているなら、socket.bind((ホスト、0))は、あなたの最善の策である。
>>>輸入ソケット
>>> S = socket.socket()
>>> s.bind(( ""、0))
>>> s.getsockname()
( '0.0.0.0'、54485)
あなたが永続的な無料のローカルポート番号を必要とするとき、ポートのためには必要である。
ポートのためには、s.bindの正反対です((ホストは、0))は((ホスト、0))をs.bindポートを返すべきではないという意味であるようなポートを再割り当て一時的である可能性が高いので、(返すことがあります)OSによる。
ポートのために、新たな未使用のポートを見つけて返すために従うようにしようとしているいくつかのルールがあります:
1.ポートは未使用である必要があります。ポートをチェックし、このポートに接続すると、それにバインドしようとすること。
2.ポートは、IANA割り当てられていない、そうでなければ、よく知られていないである必要があります。これは(IANAとウィキペディアから解析)割り当てられていないポートのリストを維持することによってacheivedされる。
3.ポートは、エフェメラル·ポートの範囲の中にあってはならない。エフェメラル·ポートの範囲からポートが(マシンのIPスタックによる)、OSが一時的に割り当てることができ、これはいくつかの状況でサービスの再起動を防ぐ可能性があるため、これは重要です。 gimme_portは、現在のマシンで構成された一時的なポート範囲からポートを返しません。
4.その他の経験則にも適用されます。ポートに努め、より大きなポート範囲からポートを戻すために。それはまた、よく知られたポートに近すぎるのポートを返しません。
<強い>インストールの
システム全体:
sudoのeasy_installをポート用
のスクリプトの使用の
ポートのための
このユーティリティは、実際にポートをバインドまたはそうでなければ、別のソフトウェアによって取られてからポートを防ぐことはありません。しかしながら、他のソフトウェアによって使用される可能性が低いポートを選択しようとする(それはもちろん、呼び出し時の未使用の場合)。ユーティリティは、ポートのためのバーが同じマシン上でfooのポートに同じポートを返さないことを確認します。
$ sudoのfooのポートのための
37987
$ sudoのfooのポートのための
37987
また、あなたのアプリの名前の前に付ける必要があります。
$ sudoのポート-用instance1.apache
35456
そのポートのためのスクリプトはそうsudoがそれを実行するために必要な場合があり/etc/port-for.confへのアクセスの読み取りと書き込みが必要ですのでご注意ください。
のライブラリの使用の
>>>輸入port_for
>>> port_for.select_random()
37774
>>> port_for.select_random()
48324
>>> port_for.available_good_ports 80()
偽
多くのためのソースコードに掘る
の要件の:ます。
- のPythonます。
コメントが見つかりません