MSRPC is a framework that developers use to publish a set of applications and services for servers and enterprises. RPC is
an interprocess communication technique that allows the client and server software to communicate over the network. MSRPC
is an application-layer protocol that is used by a wide array of Microsoft applications. MSRPC supports both connection-oriented
(CO) and connectionless (CL) Distributed Computing Environment (DCE) RPC modes over a wide variety of transport protocols.
All services of MSRPC establish an initial session that is referred to as the primary connection. A secondary session over
a port range between 1024 to 65535 as the destination port is established by some services of MSRPC.
For MSRPC to work when firewall and NAT are enabled, in addition to inspecting MSRPC packets, the ALG is required to handle
MSRPC specific issues like establishing dynamic firewall sessions and fixing the packet content after the NAT.
By applying MSRPC protocol inspection, most MSRPC services are supported, eliminating the need for Layer 7 policy filters.