> 135dump.exe -p ncadg_ip_udp -t 10.10.7.44 -------------------------------------------------------------------------- 1 198 EPM 10.10.7.2 10.10.7.44 4744 135 Lookup request 2 142 UDP 10.10.7.44 10.10.7.2 1487 4744 Source port: 1487 Destination port: 4744 3 146 UDP 10.10.7.2 10.10.7.44 4744 1487 Source port: 4744 Destination port: 1487 4 122 DCERPC 10.10.7.44 10.10.7.2 1487 4744 Ack: seq: 0 5 278 EPM 10.10.7.44 10.10.7.2 135 4744 Lookup response 6 198 EPM 10.10.7.2 10.10.7.44 4744 135 Lookup request 7 290 EPM 10.10.7.44 10.10.7.2 135 4744 Lookup response 8 198 EPM 10.10.7.2 10.10.7.44 4744 135 Lookup request 9 162 EPM 10.10.7.44 10.10.7.2 135 4744 Lookup response 10 122 DCERPC 10.10.7.2 10.10.7.44 4744 135 Ack: seq: 37 [req: #8] -------------------------------------------------------------------------- Win32 API没有指定Idempotent标志位,所以有conv_who_are_you2()出现。 注意10号报文,这个Ack(7)不是每次收到Response(2)都会发出。客户端为完成某特 定任务,可能多次发送Request(0)。客户端自己知道哪次Request(0)是最后一次,当 收到对应的Response(2)之后,客户端显式发送Ack(7),通知服务端完事了,确认响 应报文收到了,服务端应该停止响应。客户端也可以通过发送新的请求报文隐式确认 前次响应。4号是对3号的显式确认,6号是对5号的隐式确认,8号是对7号的隐式确认, 10号是对9号的显式确认。显然,只需要显式确认对应最后一次请求的响应,中间的 响应均可隐式确认,减少通信报文。 再次提醒,135/UDP上没有Bind(11)操作,接口UUID直接在V4 Request(0)的RPC头部 Interface字段指定。 通过135/UDP访问EPM没什么前途,XP SP1、2003 SP1以及某些HotFix之后都不再侦听 这个端口了。