如何检测远程客户端是否正在运行远程桌面协议?它还接受远程桌面连接??
就像打开一个端口来检测 HTTP 并发送请求,接收请求标头并在请求标头中查看有关 HTTP 的信息,所以如果他更改端口,我会知道该人正在运行 HTTP 天气,例如:运行 HTTP 6551。
尝试与可感知 RDP 连接的事物建立连接(RDP 不是 HTTP)。当然,未能建立初始握手并不能证明无法建立连接。它可能被防火墙阻止,侦听另一个端口等。
MS-RDPBCGR 规范,第 16 页谈到了连接,而连接又遵循 X.224,请看图。
使用 Wireshark并观察野外行为来开发最小的检测案例可能是最简单的。我怀疑只需要生成/重播握手的最初部分,以便“确定”它是一个正在侦听的 RDP 服务器。
(或者,也许使用具有此“测试连接”功能或脚本能力的现有 RDP 客户端。)
一个快速的方法是写一个 shell 并输入
telnet IPADDRESS 3389
如果您建立了连接,则很有可能 RDP 服务器位于另一端。RDP 可以在任何端口上运行,但默认设置 TCP 端口 3389。
Windows 7 需要一些额外的步骤来启用 telnet 客户端。
您可以在命令行中执行netstat -a并查看远程桌面连接的默认端口是否正在侦听,即。TCP:3389,但前提是客户端没有更改 MSTSC 的端口