【ECS】如何确定远程连接Windows主机的客户端源IP地址

举报
云技术搬运工 发表于 2021/02/25 10:57:15 2021/02/25
【摘要】 需要确定远程连接的客户端源ip地址,以便添加到安全组或防火墙白名单,但客户端本地外网出口IP不固定,有时访问的目标地址不同会有不同的出口IP。比如常用的ip地址查询网站https://www.ip138.com/和https://www.ipip.net/查询的本地IP可能就不一样,远程连接的本地出口IP可能和前面搜出来的都不同。此时最直接的方法是在目标服务器里抓包,查看连接的源ip地址即可确定。

【背景描述】

       需要确定远程连接的客户端源ip地址,以便添加到安全组或防火墙白名单,但客户端本地外网出口IP不固定,有时访问的目标地址不同会有不同的出口IP。比如常用的ip地址查询网站https://www.ip138.com/和https://www.ipip.net/查询的本地IP可能就不一样,远程连接的本地出口IP可能和前面搜出来的都不同。此时最直接的方法是在目标服务器里抓包,查看连接的源ip地址即可确定。但对于没有抓包工具的Windows服务器,且遇到远程等端口无法建立连接的情况下就较为困难了。

【适用场景】:

适用于目标为Windows系统的服务器,且远程等端口监听正常,需要确定客户端源IP地址。

【操作步骤】:

1、在资源监视器里查看

       若服务器里有可以访问的端口,比如本来就可以远程连接(3389端口),或可以访问到的网站(80、443端口),此时可以远程连接或访问网站,然后再在目标服务器的资源监视器里查看连接IP即可。

       如下图所示,在Windows附件或搜索里搜索打开“资源监视器”。

       1.png


      在“网络”下的“TCP连接”里,可以看到目标服务器本地端口“3389”的连接“远程地址”,也就是客户端连接源ip地址。

     2.png


2、通过命令提示符查看

       同样先远程连接上目标服务器或访问目标网站,然后再在目标服务器的命令提示符(cmd)里查看连接IP。

       打开命令提示符输入如下命令回车执行:

       netstat -ano |findstr 3389

      3.png

       如上图,第二行为远程建立的连接,其中第三列为“外部地址”,也就是我们要找的客户端连接出口ip地址。

3、修改或增加端口转发确定

       若云端服务器里没有直接可以访问的端口,比如3389端口现在就不能远程上(如客户端本地IP被某些防火墙拦截3389端口),且目标服务器本身也没有其他可以连接的端口。此时连接根本不能建立,上述查看连接状态的方法就不能直接查看了。

       若从服务器内部查看3389端口是监听的,或从云平台内网或通过其他网络环境可以远程上服务器,说明远程服务是没有问题。此时可以把远程端口修改为非3389端口尝试连接上,然后再在服务器的资源监视器或命令提示符里查看远端连接IP即可。

3.1、修改远程端口确定

       cmd命令提示符里运行:

       reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 3390 /f

       reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber /t REG_DWORD /d 3390 /f

      4.png


       重启服务器即可把远程端口修改为3390,然后用3390端口远程上服务器,cmd里执行netstat -ano |findstr 3390即可确定。

      5.png


3.2、增加端口转发确定

       可以通过netsh interface portproxy端口转发命令,将3390的端口转发到3389端口:

       netsh interface portproxy add v4tov4 listenaddress=192.168.0.169 listenport=3390 connectaddress=192.168.0.169 connectport=3389

       注:192.168.0.169为目标服务器内网ip地址。

       6.png


       相当于增加了一个3390的远程端口,然后用3390端口远程连接,netstat -ano |findstr 3390查看下远端IP即可。

       7.png


       补充删除端口转发命令如下:

       netsh interface portproxy del v4tov4 listenaddress=192.168.0.169 listenport=3390

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。