查看网站服务器IP和端口号的核心方法有两种:通过本地命令直接查看,以及借助在线工具远程检测,前者适合自己管理的服务器,后者适用于任何网站。
怎么查看网站服务器ip地址:先分清你是哪种场景
在动手之前,先确认你的需求属于哪一类,不同场景下,查询方式完全不同。
网站是你自己的,有服务器管理权限
这时候你不需要问任何人,直接在服务器上执行几条命令就能拿到准确结果,如果你用的是Linux服务器,登录后输入:
ip addr show
或者用更简洁的:
hostname -I
这两条命令会直接列出服务器当前绑定的所有内网IP,至于公网IP,常见做法是输入:
curl ifconfig.me
这个命令会返回你的服务器出口公网IP,多数情况下和域名解析到的IP一致,Windows服务器则在命令行里输入 ipconfig,结果中的“IPv4 地址”就是内网IP,公网IP依然需要通过访问外网接口来获取。
网站是别人的,你只能从外部探测
这种场景适用于查看任意网站的服务器IP,最直接的方法是用系统自带的 ping 命令:
ping 你的目标域名
比如你想查某个网站,就在命令行输入 ping www.example.com,返回结果中会显示“正在 Ping example.com [203.0.113.5]”,方括号里的就是它当前解析到的服务器IP。
这里需要留意一个容易踩坑的细节:很多大型网站使用了CDN加速(内容分发网络),你ping到的IP不是源站服务器,而是离你最近的CDN节点,这解释了为什么不同地区的人ping同一个域名会看到不同的IP,检测方法很简单在全国多地ping同一域名,如果结果IP各不相同,那基本可以断定套了CDN。
网站端口号查询方法:从简单到进阶的实用操作
端口号不像IP那样能通过一个通用命令直接“显形”,它需要主动去探测,下面按难度从低到高排列。
在线端口扫描工具(最省事)
打开任意一款在线端口扫描工具(搜索“端口扫描”就能找到),输入目标域名,选择常用端口范围,点击扫描,工具会用TCP连接的方式测试哪些端口处于开放状态,这种方法不需要安装任何软件,浏览器打开就能用,适合非技术人员快速判断一个网站大概开放了哪些端口。
telnet命令直接测试(最直观)
在命令行里使用:
telnet 目标IP 端口号
这个命令的逻辑很朴素尝试和目标IP的指定端口建立连接,如果连接成功,说明这个端口是开放的;如果提示“无法打开到主机的连接”或直接超时,则说明端口不通。
telnet 203.0.113.5 443
能连上就代表这个IP的443端口(HTTPS服务)是敞开的,这个方法不受操作系统限制,Windows 10以上版本默认没开启telnet客户端,需要先在“控制面板程序启用或关闭Windows功能”里勾选“Telnet客户端”。
浏览器开发者工具看实时连接(看当前正在用的端口)
这个方法更贴近实际场景你想知道浏览器访问某个网站时,到底连的是哪个IP的哪个端口,操作路径:打开目标网站 → 按F12打开开发者工具 → 切到“Network”(网络)标签页 → 刷新页面 → 点击任意一条请求记录 → 在“Headers”(标头)里找到“Remote Address”字段,你会看到类似 0.113.5:443 这样的信息,冒号前的数字是IP,冒号后的数字是端口。
这个方法比前几种更精准,因为它展示的是浏览器此刻真实建立的TCP连接,如果网站套了CDN,这里显示的就是CDN节点IP和端口,和ping结果一致。
服务器本地查看监听端口(查自己的服务器)
如果你有自己的服务器,可以用以下命令查看当前所有正在监听的端口:
Linux系统:
ss -tlnp
或者老一点的:
netstat -tlnp
Windows系统:
netstat -ano
这个命令列出的每一个端口都对应一个服务在监听,常见的如 80 是HTTP服务,443 是HTTPS服务,22 是SSH远程登录服务,3306 是MySQL数据库服务,看到哪些端口在监听,你就知道这台服务器上跑着什么服务。
站长必知:查IP和端口的典型应用场景
光会查还不行,得知道查出来的结果有什么用,根据多年运维圈子的经验,最常见的用途集中在以下几个方向。
排查网站打不开的问题
网站突然无法访问了,第一步不是联系服务商,而是先确认是不是域名解析出了问题,执行 ping 你的域名,如果ping不通,说明域名解析失败,问题出在DNS配置上,如果ping通了但浏览器打不开,接下来就要测端口。
telnet 你的域名 80
telnet 你的域名 443
80端口通但443不通,说明HTTP服务正常但HTTPS证书配置有问题,80和443都不通,基本可以断定是服务器防火墙拦截了端口,或者Web服务进程挂了,这种排查思路能帮你省下不少找客服扯皮的时间。
配置服务器安全组和防火墙
无论你用的是简米云、酷番云还是AWS,安全组规则的本质都是“放行指定IP的指定端口”,在配置时,你需要知道两件事:你自己的出口IP是多少,以及你要放行的端口号是多少,比如你只想允许自己公司网络的IP访问服务器的22端口(SSH),就得先用前面提到的方法查一下公司宽带的公网IP,然后去安全组规则里设置:
来源IP: 你的公网IP/32
端口: 22
很多用户在这步犯错不知道自己公司的公网IP是动态变化的,查出来的IP今天能用,明天可能就变了,如果发现SSH突然连不上,先重新查一遍自己的IP是否变了,再检查安全组规则。
购买服务器或CDN服务时的沟通成本
如果你正在选购服务器,或者准备接入CDN加速,服务商通常会要求你提供源站IP,这时候查询出来的IP直接决定了服务能不能正常配置,业内专家指出,
源站IP泄露是当前网络安全事件的主要诱因之一,不太建议在公开论坛或群聊中直接展示你的源站IP,需要共享时,建议通过后台私密渠道发送。
查服务器IP和端口的高频疑问
Q:网站查出来的IP和自己服务器上看到的IP不一致,这是怎么回事?
这是相当常见的情况,你通过 curl ifconfig.me 看到的是服务器的公网出口IP,而 ip addr show 显示的是内网IP,服务器在机房内部通常分到的是10.x.x.x或192.168.x.x的内网地址,通过NAT转换后访问公网,如果你的网站使用了CDN或云WAF(网站应用防火墙),外部ping到的就是这些中间节点的IP,而不是源站IP,这也是“不一致”最常见的原因。
Q:为什么很多国外网站用ping命令根本查不到IP?
有几种可能,一是目标服务器禁用了ICMP协议,也就是说不响应ping请求,但网站本身访问正常,二是对方开启了防火墙策略,只放行443/80端口,其他所有协议一律丢弃,这种情况不要纠结于ping的结果,直接尝试 telnet 域名 443,能连通就说明网站服务是正常的,三是DNS层面做了海外分区域解析,你的网络环境访问不到对应的解析记录。
Q:查端口号时,哪些端口通常是必须关注的?
行业共识认为,80(HTTP)、443(HTTPS)这两个Web基础端口必然要关注;22(SSH远程管理)、3389(Windows远程桌面)是服务器管理的命脉;3306(MySQL)、6379(Redis)属于数据库类端口,通常不应该暴露在公网,如果扫描一个网站发现它的3306端口对外开放,这是一个相当危险的信号,意味着数据库可能面临被直接访问的风险,查端口时,优先确认这六个端口的状态,基本就能掌握一台服务器的服务概况。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/683581.html





