Назад | Перейти на главную страницу

Какова последовательность портов Windows RPC 135, 137, 139 (и выше)? Что изменится с портом 145?

Может кто-нибудь объяснить, когда и как часто используется каждый из портов Windows RPC? Я понимаю "основные":

Затем я услышал, что порт 145 был добавлен в микс, чтобы «улучшить ситуацию» с NBT / TCP, но я не уверен, как это согласуется с последовательностью запуска клиентом Windows действия RPC.

Может ли кто-нибудь помочь мне раз и навсегда исправить мое понимание портов RPC?

Эта статья в TechNet великолепна, Я рекомендую вам добавить его в закладки. В нем довольно подробно перечислены порты, используемые различными службами Windows.

В версиях Windows до Vista / 2008 NetBIOS использовалась для службы «RPC Locator», которая управляла базой данных службы имен RPC. Но в Vista / 2008 и последующих версиях служба RPC Locator больше не нужна или полезна. Это рудиментарно. С этого момента я буду говорить только о MSRPC в Vista / 2008 +.

Порты 137, 138 и 139 предназначены для NetBIOS и являются не требуется для работы MSRPC.

Все порты, используемые RPC, следующие:

RPC EPM                  TCP 135 
RPC over HTTPS           TCP 593 
SMB (for named pipes)    TCP 445
Ephemeral Range, Dynamic *

Другие приложения, такие как Remote Desktop Gateway, будут использовать RPC через HTTP-прокси, порт 443 и т. Д.

Хотя в статье, на которую я ссылался выше, перечислены порты NetBIOS, они являются устаревшими и не требуются для RPC, при условии, что вы можете получить разрешение имен с помощью других средств (DNS) и при условии, что сама удаленная служба не зависит от NetBIOS.

Порт 145 фиктивный. Он ни для чего не используется. Где бы вы ни слышали, что это «улучшает положение», это неправильно.

Базовый MSRPC использует порты 135 и динамический диапазон с высокими номерами. Этот динамический диапазон с высокими номерами - это порты 1024-5000 в XP / 2003 и ниже и 49152-65535 в Vista / 2008 и выше. Вы также можете вызвать этот диапазон портов эфемерными портами.

При желании вы можете определить собственный диапазон портов, например:

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