บทความ 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 proxy และใช้พอร์ต 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 เป็น mapper ปลายทาง 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