Alguém pode explicar quando e com que frequência cada uma das portas RPC do Windows é usada? Os "principais" que eu entendo são:
- Porta 135
- Porta 137
- Porta 139
- Portas superiores publicadas pelo "catálogo" da Porta 135
Ouvi dizer que a porta 145 entrou no mix para "melhorar as coisas" com o NBT / TCP, mas não tenho certeza de como isso se encaixa na sequência de um cliente Windows que inicia uma ação RPC.
Alguém pode me ajudar a corrigir meu entendimento das portas RPC de uma vez por todas?
Respostas:
Este artigo do TechNet é fantástico , eu recomendo que você o marque como favorito. Ele lista as portas usadas por vários serviços do Windows e é bastante completo.
Nas versões do Windows anteriores ao Vista / 2008, o NetBIOS era usado para o serviço "RPC Locator", que gerenciava o banco de dados do serviço de nomes RPC. Mas no Vista / 2008 e além, o serviço RPC Locator não é mais necessário ou útil. É vestigial. A partir deste momento, vou falar apenas sobre o MSRPC no Vista / 2008 +.
As portas 137, 138 e 139 são para NetBIOS e não são necessárias para a funcionalidade do MSRPC.
Todas as portas usadas pelo RPC são as seguintes:
Outros aplicativos, como o Gateway de Área de Trabalho Remota, usarão o proxy RPC sobre HTTP e a porta 443, etc.
Embora o artigo ao qual eu vinculei acima liste as portas NetBIOS, elas são herdadas e não são necessárias para o RPC, supondo que você possa adquirir a resolução de nomes por outros meios (DNS) e assumindo que o serviço remoto em si não depende do NetBIOS.
A porta 145 é falsa. Não é usado para nada. Onde quer que você tenha ouvido que "melhora as coisas", está errado.
O MSRPC básico usa as portas 135 e o intervalo dinâmico de numeração alta. Esse intervalo dinâmico de grande número é as portas 1024-5000 no XP / 2003 e abaixo, e 49152-65535 no Vista / 2008 e acima. Você também pode chamar esse intervalo de portas de portas efêmeras.
Você pode definir um intervalo de portas personalizado, se desejar, da seguinte maneira:
E / ou
A porta TCP 135 é o mapeador de pontos de extremidade MSRPC. Você pode vincular a essa porta em um computador remoto, anonimamente, ou enumerar todos os serviços (pontos de extremidade) disponíveis nesse computador ou pode solicitar em que porta um serviço específico está sendo executado, se souber o que está procurando.
Deixe-me mostrar um exemplo de consulta ao RPC Enpoint Mapper:
Você notará que, se executar essa consulta no computador local, encontrará muito mais pontos de extremidade do que se realizar a consulta em um computador remoto. Isso ocorre porque muitos pontos de extremidade RPC não são expostos remotamente e são usados apenas para comunicação entre processos locais.
Outras leituras: http://technet.microsoft.com/en-us/library/cc738291(v=WS.10).aspx
E também: https://www.myotherpcisacloud.com/post/2014/02/16/verifying-rpc-network-connectivity-like-a-boss.aspx
fonte