(http://e-words.jp/w/E382A8E38395E382A7E383A1E383A9E383ABE3839DE383BCE38388.html)
として利用されないことを保障したいと思っています。
Linuxの場合は、/etc/servicesにポートを登録しておけば、エフェメラルポートとして
利用されないことが保障されるでしょうか?保証されない場合、保障できる方法があったら教えてください。
また、Windowsでエフェメラルポートとして利用されないことが保障できる方法があったら教えてください。
Windows の場合、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ で制御します。
値の名前 : MaxUserPort
値の種類 : DWORD
値のデータ : 65534
有効な範囲 : 5000-65534 (10 進数)
デフォルト値 : 0x1388 (10 進数の 5000)
説明 : このパラメータで、利用できる任意のユーザー ポートをプログラムがシステムに要求したときに、使用されるポート番号の最大値を変更できます。一時的な (短期) ポートには、通常 1024 ~ 5000 までの値が割り当てられます。
http://support.microsoft.com/kb/196271/ja
Linux の場合、/etc/services は影響しないはず、です。/proc/sys/net/ipv4/ip_local_port_range で制御します。
実際に書き換えるのは sysctl.conf でしょうか。例えばこんな感じ、ですね。
リンク先にある通り、OSによって異なります。/etc/servicesとは無関係です。
Windowsでエフェメラルポートとして利用されない保証は、1023番以下を使う
事によって保証されるようです。
ありがとうございます。
Windows の場合、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ で制御します。
値の名前 : MaxUserPort
値の種類 : DWORD
値のデータ : 65534
有効な範囲 : 5000-65534 (10 進数)
デフォルト値 : 0x1388 (10 進数の 5000)
説明 : このパラメータで、利用できる任意のユーザー ポートをプログラムがシステムに要求したときに、使用されるポート番号の最大値を変更できます。一時的な (短期) ポートには、通常 1024 ~ 5000 までの値が割り当てられます。
http://support.microsoft.com/kb/196271/ja
Linux の場合、/etc/services は影響しないはず、です。/proc/sys/net/ipv4/ip_local_port_range で制御します。
実際に書き換えるのは sysctl.conf でしょうか。例えばこんな感じ、ですね。
ありがとうございます。求めていた答えです。
ありがとうございます。求めていた答えです。