none
Widowsserver2012 ポート番号について RRS feed

  • 質問

  • Windows server2012で、services.exeがポート番号50100を使用した為、自社開発アプリのポートと競合し、自社アプリが起動しないという事象が発生しました。WindowsOSがプライベートポート番号を使用する事があるのでしょうか?
    2020年9月23日 9:18

回答

  • ポートの予約ですが、ワイルドカード バインドで予約範囲がバインドされることは防げますが、特定番号をリクエストした場合は(予約範囲であっても)バインドが行われます。

    そのためエフェメラル ポートを使用する場合は(ポートの予約をするとしても)、使用したい特定ポートが使用中だった際に安全に失敗する、別のポートで再試行する、などの対処が必要です。

    参考:https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/reserve-a-range-of-ephemeral-ports

    "When you reserve a range of ports, only a program or process that specifically requests a port that is in the reserved range can use the port."


    Hebikuzure aka Murachi Akira

    • 回答としてマーク Masashi.I 2020年10月1日 2:05
    2020年9月24日 10:32

すべての返信

  • services.exe は単なるサービス ホストなので、実際にポートを使っているプロセスが Windows システム プログラムかどうかはこれだけでは分かりませんね。また Windows システムでもエフェメラル ポートを使用するプロセスは存在します。


    Hebikuzure aka Murachi Akira

    2020年9月23日 10:57
  • Microsoft コミュニティ「Widowsserver2012 ポート番号について

    向うはクローズして、こちらで続けてください。


    Hebikuzure aka Murachi Akira

    2020年9月23日 11:45
  • ご指摘、参考URLありがとうございます。

    Windows2008以降は49152-65535は動的に取得する可能性があるのですね。

    動的ポートの範囲を設定するか、Microsoft コミュニティ側でご連絡いただいたnetshコマンドで事前にアプリが使用するポートの予約しておくかの対応を検討いたします


    確認した内容、手順は以下の通りです。

    1.コマンドプロンプトで以下のコマンドを実行し、該当ポートを使用しているPIDを確認

    netstat -oan

    ■結果

      プロトコル  ローカル アドレス      外部アドレス           状態            PID

      TCP         0.0.0.0:50100          0.0.0.0:0              LISTENING       516

    2.コマンドプロンプトで以下のコマンドを実行し、該当PIDのタスクを確認

    tasklist

    ■結果

    イメージ名                     PID セッション名     セッション# メモリ使用量
    services.exe                   516 Services                   0      8,220 K
    2020年9月24日 5:55
  • ポートの予約ですが、ワイルドカード バインドで予約範囲がバインドされることは防げますが、特定番号をリクエストした場合は(予約範囲であっても)バインドが行われます。

    そのためエフェメラル ポートを使用する場合は(ポートの予約をするとしても)、使用したい特定ポートが使用中だった際に安全に失敗する、別のポートで再試行する、などの対処が必要です。

    参考:https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/reserve-a-range-of-ephemeral-ports

    "When you reserve a range of ports, only a program or process that specifically requests a port that is in the reserved range can use the port."


    Hebikuzure aka Murachi Akira

    • 回答としてマーク Masashi.I 2020年10月1日 2:05
    2020年9月24日 10:32
  • 返信が遅くなり申し訳ございません。

    ご連絡、参考URLありがとうございます。

    ポートの予約設定とアプリ側の再試行等検討いたします

    色々とご教示頂きありがとうございました。

    2020年10月1日 2:04