FUNNY 发表于 前天 11:11

服务器开了哪些端口怎么查?用端口扫描一键摸底

一句话答案:想知道一个域名或 IP 对外开放了哪些端口、每个端口跑的是什么服务,用宝塔拨测的端口扫描输入目标一键扫描即可。结果逐个列出端口的开放/关闭状态、识别出的服务类型和响应时间。
安全加固的第一步是摸清自己的"暴露面"。这帖用一次真实扫描演示怎么读结果。
怎么发起扫描
打开端口扫描,输入框填目标域名或 IP(例如 github.com),点「开始扫描」,稍等片刻结果页就列出每个端口的扫描结果。下面是对 github.com 的一次实测:目标解析到 20.205.243.166(新加坡),本次扫描的探测节点是湖南株洲(电信)。
结果怎么读
这次扫描共测了 23 个常用端口,结果分两类。
开放端口(3 个):

端口
状态
服务
响应时间

22
开放
SSH
90.72ms

80
开放
HTTP
90.07ms

443
开放
HTTPS
113.79ms

关闭端口(20 个):FTP(21)、Telnet(23)、SMTP(25)、DNS(53)、POP3(110)、IMAP(143)、SMTPS(465)、SMTP(587)、IMAPS(993)、POP3S(995)、MSSQL(1433)、Oracle(1521)、MySQL(3306)、RDP(3389)、PostgreSQL(5432)、VNC(5900)、Redis(6379)、HTTP(8080)、HTTPS(8443)、MongoDB(27017)。
github.com 只开 22、80、443 是符合预期的:22(SSH)用于 git 的 SSH 协议,80 和 443 是网站服务,其余数据库、远程桌面、邮件等端口都不对公网开放。
「服务」一栏是根据端口号判断的标准服务名:22 对应 SSH、80 对应 HTTP、443 对应 HTTPS。看这一栏就能快速判断每个开放端口在跑什么,不用逐个猜。
为什么大部分端口显示「关闭」——这是好事
数据库(MySQL 3306、Redis 6379、PostgreSQL 5432)、远程桌面(RDP 3389、VNC 5900)这类端口,规范做法是只在内网使用、不对公网开放。所以对正常配置的网站域名做扫描,这些端口几乎都会显示"关闭"——这是安全配置,不是扫描失败。
反过来,如果你自己的服务器上这些端口意外显示「开放」,就要检查是不是误开了防火墙规则——数据库和远程桌面直接暴露公网是常见的攻击入口,配合端口防扫描和 Fail2ban 把这类端口保护起来。
和 TCP 拨测的分工

[*]TCP 拨测(t.bt.cn/tcp)针对一个端口测能不能建立连接,适合确认某个具体服务是否在线

[*]端口扫描(t.bt.cn/port)一次扫一组端口,逐一看开放状态和服务类型,适合摸清一台主机暴露了哪些服务
排查顺序建议:先用端口扫描摸底,再用 TCP 拨测盯着关键端口(如 443)的可用性。
常见问题
端口扫描能查到什么?
输入域名或 IP,会逐个探测一组常用端口,列出每个端口的开放/关闭状态、识别出的服务类型(如 SSH、HTTP、HTTPS)以及响应时间。

「服务」一栏是什么意思?
该端口上识别出的服务类型,按端口号判断的标准服务名(22→SSH、80→HTTP、443→HTTPS),帮你一眼看出主机对外提供了哪些服务。

数据库端口(3306、6379 等)显示关闭正常吗?
正常。MySQL(3306)、Redis(6379)、PostgreSQL(5432)等数据库端口默认不对公网开放、只在内网使用。显示关闭说明目标没把这些端口暴露到公网,是安全配置而非故障。

端口扫描和 TCP 拨测有什么区别?
TCP 拨测针对一个端口测能否建立连接;端口扫描一次扫一组端口,逐一看开放状态并识别服务类型,适合摸清一台主机暴露了哪些服务。

结果里的响应时间是什么?
探测节点到目标端口建立连接的耗时(毫秒),受探测节点所在地和网络线路影响,只反映本次扫描那一刻的连通情况,不代表长期状态。

有问题欢迎回帖。


页: [1]
查看完整版本: 服务器开了哪些端口怎么查?用端口扫描一键摸底