このTechNet記事は素晴らしいです。ブックマークしておくことをお勧めします。さまざまなWindowsサービスで使用されるポートがリストされており、非常に完全です。
Vista / 2008より前のバージョンのWindowsでは、RPCネームサービスデータベースを管理する「RPC Locator」サービスにNetBIOSが使用されていました。しかし、Vista / 2008以降では、RPC Locatorサービスは不要になり、役に立たなくなりました。それは痕跡です。ここからは、Vista / 2008以降のMSRPCについてのみ説明します。
ポート137、138、139はNetBIOS 用で、MSRPCの機能には必要ありません。
RPCが使用するすべてのポートは次のとおりです。
RPC EPM TCP 135
RPC over HTTPS TCP 593
SMB (for named pipes) TCP 445
Ephemeral Range, Dynamic *
リモートデスクトップゲートウェイなどの他のアプリケーションは、RPC over HTTPプロキシを使用し、ポート443などを使用します。
上記でリンクした記事にはNetBIOSポートがリストされていますが、これらはレガシーであり、RPCには必要ありません。他の手段(DNS)で名前解決を取得できること、およびリモートサービス自体がNetBIOSに依存していないことを前提としています。
ポート145は偽です。何にも使われていません。それが「物事をより良くする」と聞いたどこでも間違っています。
基本的なMSRPCはポート135と高い番号のダイナミックレンジを使用します。その高い数値のダイナミックレンジは、XP / 2003以下ではポート1024-5000、Vista / 2008以降では49152-65535です。そのポート範囲を一時ポートと呼ぶこともできます。
必要に応じて、次のようにカスタムポート範囲を定義できます。
reg add HKLM\SOFTWARE\Microsoft\Rpc\Internet /v Ports /t REG_MULTI_SZ /f /d 8000-9000
reg add HKLM\SOFTWARE\Microsoft\Rpc\Internet /v PortsInternetAvailable /t REG_SZ /f /d Y
reg add HKLM\SOFTWARE\Microsoft\Rpc\Internet /v UseInternetPorts /t REG_SZ /f /d Y
および/または
netsh int ipv4 set dynamicport tcp start=8000 num=1001
netsh int ipv4 set dynamicport udp start=8000 num=1001
netsh int ipv6 set dynamicport tcp start=8000 num=1001
netsh int ipv6 set dynamicport udp start=8000 num=1001
TCPポート135はMSRPCエンドポイントマッパーです。リモートコンピューターのそのポートに匿名でバインドし、そのコンピューターで使用できるすべてのサービス(エンドポイント)を列挙するか、探しているものがわかっている場合は、特定のサービスが実行されているポートを要求できます。
RPC Enpoint Mapperにクエリを実行する例を示します。
C:\>PortQry.exe -n 192.168.1.1 -e 135
Querying target system called:
192.168.1.1
Attempting to resolve IP address to a name...
IP address resolved to host01.labs.myotherpcisacloud.com
querying...
TCP port 135 (epmap service): LISTENING
Using ephemeral source port
Querying Endpoint Mapper Database...
Server's response:
UUID: d95afe70-a6d5-4259-822e-2c84da1ddb0d
ncacn_ip_tcp:192.168.1.1[49152]
UUID: 12345778-1234-abcd-ef00-0123456789ac
ncacn_np:192.168.1.1[\\pipe\\lsass]
UUID: 12345778-1234-abcd-ef00-0123456789ac
ncacn_ip_tcp:192.168.1.1[49159]
UUID: 6b5bdd1e-528c-422c-af8c-a4079be4fe48 Remote Fw APIs
ncacn_ip_tcp:192.168.1.1[49158]
UUID: 367abb81-9844-35f1-ad32-98f038001003
ncacn_ip_tcp:192.168.1.1[49157]
UUID: 12345678-1234-abcd-ef00-0123456789ab
ncacn_ip_tcp:192.168.1.1[49155]
UUID: 0b6edbfa-4a24-4fc6-8a23-942b1eca65d1
ncacn_ip_tcp:192.168.1.1[49155]
UUID: ae33069b-a2a8-46ee-a235-ddfd339be281
ncacn_ip_tcp:192.168.1.1[49155]
UUID: 4a452661-8290-4b36-8fbe-7f4093a94978
ncacn_ip_tcp:192.168.1.1[49155]
UUID: 76f03f96-cdfd-44fc-a22c-64950a001209
ncacn_ip_tcp:192.168.1.1[49155]
UUID: 7f1343fe-50a9-4927-a778-0c5859517bac DfsDs service
ncacn_np:192.168.1.1[\\PIPE\\wkssvc]
UUID: 3473dd4d-2e88-4006-9cba-22570909dd10 WinHttp Auto-Proxy Service
ncacn_np:192.168.1.1[\\PIPE\\W32TIME_ALT]
UUID: 1ff70682-0a51-30e8-076d-740be8cee98b
ncacn_np:192.168.1.1[\\PIPE\\atsvc]
...
Total endpoints found: 50
==== End of RPC Endpoint Mapper query response ====
ローカルコンピューターでクエリを実行した場合、リモートコンピューターからクエリを実行した場合よりも多くのエンドポイントが見つかります。これは、多くのRPCエンドポイントがリモートで公開されておらず、ローカルのプロセス間通信にのみ使用されているためです。
参考資料:http : //technet.microsoft.com/en-us/library/cc738291(v=WS.10).aspx
また、https://www.myotherpcisacloud.com/post/2014/02/16/verifying-rpc-network-connectivity-like-a-boss.aspx