【发布时间】:2009-10-29 06:26:52
【问题描述】:
如何检测远程客户端是否正在运行远程桌面协议?它还接受远程桌面连接??
像打开一个端口来检测 HTTP 并发送请求,接收请求标头并在请求标头中查看有关 HTTP 的信息,因此如果他更改端口,我会知道该人正在运行 HTTP 天气,例如:运行 HTTP 6551。
【问题讨论】:
标签: desktop protocols detect rdp
如何检测远程客户端是否正在运行远程桌面协议?它还接受远程桌面连接??
像打开一个端口来检测 HTTP 并发送请求,接收请求标头并在请求标头中查看有关 HTTP 的信息,因此如果他更改端口,我会知道该人正在运行 HTTP 天气,例如:运行 HTTP 6551。
【问题讨论】:
标签: desktop protocols detect rdp
尝试与可感知 RDP 连接的事物建立连接(RDP 不是 HTTP)。当然,未能建立初始握手并不能证明无法建立连接。它可能被防火墙阻止、侦听另一个端口等。
The MS-RDPBCGR specification, page 16 talks about connecting 又遵循 X.224,去看看。
use Wireshark 并观察野外行为以开发最小检测案例可能是最简单的。我怀疑只需要生成/重播握手的最初部分,以便“确定”它是一个正在侦听的 RDP 服务器。
(或者,也许使用具有此“测试连接”功能或脚本能力的现有 RDP 客户端。)
【讨论】:
一种快速的方法是写一个 shell 并输入
telnet IPADDRESS 3389
如果您建立了连接,则很有可能 RDP 服务器位于另一端。 RDP 可以在任何端口上运行,但默认情况下会设置 TCP 端口 3389。
Windows 7 需要some extra steps 才能启用 telnet 客户端。
【讨论】:
您可以在命令行中执行 netstat -a 并查看远程桌面连接的默认端口是否正在侦听,即。 TCP:3389 但前提是客户端没有更改 MSTSC 的端口
【讨论】: