查服务器地址这件事,先要分清目标机器。是云平台租用的实例?局域网内部部署业务的服务器?还是只想查询某个网站后端服务器IP?不同场景对应的查询方式不一样。
先说最常见的场景,查询域名对应的服务器IP。打开命令提示符或者终端,执行nslookup 域名,例如nslookup www.baidu.com,返回结果里的Address字段,就是域名解析后的服务器IP。Windows系统还可以用ping 域名,命令会先解析域名获取IP再发送请求,首行括号内的数字就是IP。Mac和Linux使用dig 域名能拿到更完整信息,查看A记录、CNAME记录等。在线工具也能实现,站长之家IP查询、ip138、ipip.net,输入域名就能获取解析结果和归属地。这类方式查到的都是公网IP,服务器对外暴露的网络地址。

如果查询自己云服务器IP,操作更简单。登录云服务商控制台,打开实例列表,每台实例条目直接标注公网IP和内网IP。公网IP用于外部网络连接,内网IP供同账号下多台服务器互相通信。控制台显示的弹性IP,属于可以解绑、重新绑定到其他实例的公网地址。忘记控制台账号密码,也可以在服务器内部执行命令,curl ifconfig.me或者curl ipinfo.io/ip,返回的就是这台服务器的公网出口IP。但要留意,服务器处于NAT网关后方时,命令返回的可能是网关地址,并非服务器本机网卡IP。
局域网服务器地址查询方式又不一样。Windows服务器执行ipconfig,找到以太网适配器或者无线局域网适配器对应的IPv4地址,192.168开头就是局域网内地址。Mac、Linux系统用ifconfig或者ip addr,读取inet后的IP字符串。没法直接操作这台服务器,但知道主机名,可以在同一网段其他设备执行ping 主机名,解析出对应的IP。路由器后台也可以查询,登录管理页面,打开DHCP客户端列表或者已连接设备清单,页面列出所有接入设备名称与IP。
本地服务器这个说法,有时候指代电脑本地运行的服务,比如开发调试用的Web服务。这类服务一般绑定127.0.0.1或者localhost,端口常用8080、3000、5000。127.0.0.1是回环地址,仅本机可以访问,外部设备无法接入。想要局域网其他手机、电脑访问本地服务,需要让服务监听0.0.0.0,而不是127.0.0.1,再使用本机局域网IP访问。局域网IP查询方法前面已经说明,ipconfig或者ifconfig。
有个容易混淆的知识点:服务器地址不等于服务器IP。地址可以是域名,像api.example.com,背后可能关联多个IP。IP是数字形式地址,域名方便人类记忆。DNS负责域名和IP的互相翻译。查询域名服务器IP,有时返回多条记录,属于负载均衡或者CDN,不同地区用户访问会解析到不同节点IP。单独一台服务器没有绑定域名,直接使用IP访问即可。
最后提一句,在线查询公网IP的工具很多,结果会被代理、VPN干扰。开启代理查询,返回代理服务器IP,不是本机真实地址。想要获取真实公网IP,先关闭代理和VPN。内网IP不受代理影响,ipconfig读取的永远是本机网卡地址。