
あらゆる種類のネットワーク通信に使用可能なSolarisコンピュータのポートを知る必要があります。
私はnetstat -a
コマンドを試しました。ただし、返された情報は、私が作成している新しいアプリケーションにすべてのポートを使用できるという説得力のある結果を提供しません。これにご協力いただきありがとうございます。
答え1
1:UDPまたはTCPサービスには匿名ポート(一時ポートとも呼ばれます)を使用しないでください。
デフォルトでは、これらのポート範囲は32768 - 65535です。
# ndd /dev/tcp tcp_smallest_anon_port
32768
# ndd /dev/tcp tcp_largest_anon_port
65535
2:サービスがrootとして実行されている場合、または必要なRBAC権限がない場合は、特権ポートを使用しないでください。デフォルトでは、1 から 1024 までのすべてのポートに特権が付与されます。
# ndd /dev/tcp tcp_smallest_nonpriv_port
1024
サム:実行している操作がわからない限り、実行したいサービスとは異なるサービスを実行することを意図したよく知られているポートを使用しないでください。よく知られているポートはにリストされています/etc/services
。たとえば、
# tail /etc/services
dtspc 6112/tcp # CDE subprocess control
fs 7100/tcp # Font server
solaris-audit 16162/tcp # Secure remote audit logging
servicetag 6481/udp
servicetag 6481/tcp
wnn6 22273/tcp # Wnn6 jserver
wnn6 22273/udp # Wnn6 jserver
rdc 121/tcp # SNDR server daemon
snmpd 161/udp snmp # Net-SNMP snmp daemon
swat 901/tcp # Samba Web Adm.Tool
4:既存のサービスですでに使用されているポートを使用しないでください。以下を実行してこれを取得できます。
# netstat -an | grep LISTEN | nawk '{$0=$1;gsub(".*\\.","");print}' | sort -un
5:最後に、現在無効になっているが後で有効になる可能性があるサービスによって使用されるポートを使用しないでください。これは最もトリッキーな部分です...
答え2
最初の1024ポートのroot権限で、システムはポート1〜65,535を使用できます。
したがって、使用可能なポートを見つけるのではなく、次のコマンドを使用して使用されたポートのリストを取得できます。
netstat -tunlep | grep LISTEN | awk '{print $4}'
その後、これらのポートに加えて、1〜65535の間のすべてのポートを使用できます。