You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过Kali Linux中转,从Windows 10笔记本远程桌面访问局域网内的Windows XP并实现可视化交互

如何通过Kali Linux中转,从Windows 10笔记本远程桌面访问局域网内的Windows XP并实现可视化交互

嘿,我完全理解你现在的困惑——毕竟这确实是新手接触远程交互时容易卡壳的场景。先给你拆解下遇到的错误:UI(error): ui_init(), failed to open X11 display: 这个报错的核心原因是你连接的公网Kali是“无头”状态(没有图形界面环境,也就是X11服务器),而且你从Windows 10 SSH过去时,也没把本地的图形显示能力转发过去,导致rdesktop没法把XP的画面渲染出来给你看。

下面给你两种非常实用的方案,都是适合新手操作的,你可以根据自己的情况选择:

方案一:直接用无root权限的公网Kali做中转(推荐,无需额外软件)

这个方案不需要在Kali上运行任何图形程序,而是利用SSH端口转发把XP的远程桌面端口映射到你Windows 10本地,直接用Windows自带的远程桌面工具连接就行,操作最简单:

  1. 关闭之前的SSH连接,重新从Windows 10的命令提示符(或PowerShell)连接公网Kali,输入这条命令:

    ssh -L 33890:<Windows_XP_LAN_IP>:3389 你的Kali用户名@Kali公网IP
    

    给你解释下参数:

    • -L 表示本地端口转发
    • 33890 是你Windows 10本地的空闲端口(可以换成其他没被占用的数字,比如33891)
    • <Windows_XP_LAN_IP> 替换成XP在局域网里的IP地址(比如192.168.1.100)
    • 3389 是Windows远程桌面的默认端口(如果你之前改了XP的RDP端口,要换成对应的数字)
  2. 保持这个SSH连接窗口不要关闭(关掉的话转发就中断了),然后打开Windows 10自带的「远程桌面连接」:

    • 可以直接在开始菜单搜「mstsc」打开
    • 在「计算机」输入框里填 localhost:33890(就是你刚才设置的本地端口)
    • 点击连接,输入你之前拿到的XP管理员用户名和密码,就能直接看到并操作XP的桌面了!

方案二:用有root权限的内网Kali中转(可选)

如果方案一遇到问题,或者你想尝试用这个有root权限的内网Kali,同样推荐用端口转发的方式,或者也可以用X11图形转发(需要装小工具):

方式A:依然用端口转发(无需图形环境)

  1. 先从Windows 10连接公网Kali,同时转发本地端口到内网Kali的SSH端口:

    ssh -L 33891:<内网Kali的LAN_IP>:22 你的公网Kali用户名@Kali公网IP
    
    • 33891 是Windows本地的空闲端口
    • <内网Kali的LAN_IP> 是有root权限的Kali在局域网里的IP
  2. 打开另一个Windows命令提示符窗口,连接内网Kali,同时转发XP的RDP端口:

    ssh -L 33890:<Windows_XP_LAN_IP>:3389 你的内网Kali用户名@localhost -p 33891
    
  3. 和方案一一样,打开「远程桌面连接」,输入localhost:33890,用XP的管理员账号密码连接即可。

方式B:用X11图形转发(需要装X服务器)

如果想用rdesktop直接在Kali上启动图形界面,需要在Windows 10上装一个X服务器工具(比如VcXsrv,免费好用):

  1. 下载并安装VcXsrv,启动时选择「Multiple windows」,后续步骤保持默认,最后勾选「Disable access control」(方便Kali连接),点击「Finish」启动。
  2. 在Windows 10的命令提示符里设置环境变量:
    set DISPLAY=localhost:0
    
  3. 从Windows 10 SSH连接公网Kali,加上-X参数开启X11转发:
    ssh -X 你的公网Kali用户名@Kali公网IP
    
  4. 从公网Kali再SSH到内网有root的Kali,同样加-X参数:
    ssh -X 你的内网Kali用户名@内网Kali的LAN_IP
    
  5. 在内网Kali上运行rdesktop命令:
    rdesktop -u <XP管理员用户名> -p <XP管理员密码> <Windows_XP_LAN_IP>
    
    这时候XP的桌面就会显示在你Windows 10的VcXsrv窗口里了。

新手注意事项

  • 所有SSH连接窗口都要保持打开,关闭的话端口转发或X11转发就会中断
  • 如果你不确定端口是否被占用,可以在Windows命令提示符里用netstat -ano | findstr 端口号检查
  • 如果XP的远程桌面端口不是默认的3389,要把命令里的3389换成对应的端口号

备注:内容来源于stack exchange,提问作者hutonahill

火山引擎 最新活动