🟢 一、Linux服务器
Linux下,常用以下几种方法:
✅ 1. 查看所有正在监听端口的服务
netstat -tulnp
含义:
-t
TCP-u
UDP-l
监听状态-n
显示端口号-p
显示进程号和程序名
示例输出:
pgsql
复制编辑
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 879/sshd tcp6 0 0 :::80 :::* LISTEN 1256/nginx
这里能看到:
22端口
sshd
(SSH)80端口
nginx
✅ 2. 使用 ss
(替代 netstat,更快)
ss -tulnp
功能与 netstat
类似。
✅ 3. 查看所有进程
ps -ef
或者按服务分类:
ps aux
可以配合 grep
查找:
ps -ef | grep nginx ps -ef | grep mysql
✅ 4. 使用 systemctl
查看所有服务状态
systemctl list-units --type=service
这里可以看到所有正在运行/挂起/失败的服务。
如要查看某个服务状态:
systemctl status nginx
✅ 5. 查看自启动服务
systemctl list-unit-files --type=service
显示哪些服务开机自动启动。
🟦 二、Windows服务器
Windows上查看服务的方法:
✅ 1. 服务管理器
打开 “运行”(Win+R)
输入:
services.msc
回车,弹出服务管理器
列出所有服务及状态(正在运行/已停止)
✅ 2. 命令行查看
在命令提示符(cmd)里:
sc query
显示所有服务。
或者只显示正在运行的:
sc query | find "RUNNING"
✅ 3. 查看监听端口
在命令提示符:
netstat -ano
最后一列是PID
再到任务管理器里按PID对应进程名
🛡️ 三、实用建议
定期检查服务器监听端口,防止被植入后门程序。
如果发现陌生服务(特别是端口异常开放),要及时排查来源。
配合防火墙设置限制不必要的服务。