누군가 각 Windows RPC 포트가 언제, 얼마나 자주 사용되는지 설명 할 수 있습니까? 내가 이해하는 “핵심”은 다음과 같습니다.
- 포트 135
- 포트 137
- 포트 139
- 포트 135의 “카탈로그”에 의해 게시 된 더 높은 포트
그런 다음 Port 145가 NBT / TCP와 “더 나은 작업을 만들기 위해”혼합되어 있다고 들었지만 이것이 RPC 동작을 시작하는 Windows 클라이언트 시퀀스와 어떻게 일치하는지 잘 모르겠습니다.
누구든지 RPC 포트에 대한 이해를 한 번에 해결할 수 있습니까?
답변
이 TechNet 기사는 환상적 입니다. 북마크에 추가하는 것이 좋습니다. 다양한 Windows 서비스에서 사용되는 포트를 나열하며 매우 철저합니다.
Vista / 2008 이전의 Windows 버전에서 NetBIOS는 RPC 이름 서비스 데이터베이스를 관리하는 “RPC 로케이터”서비스에 사용되었습니다. 그러나 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 포트가 나열되어 있지만 다른 수단 (DNS)을 통해 이름 확인을 얻을 수 있고 원격 서비스 자체가 NetBIOS에 의존하지 않는다고 가정하면 레거시 포트이며 RPC에는 필요하지 않습니다.
포트 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