如何查看服务器上开放的端口
在管理服务器时,了解哪些端口是开放的以及它们对应的服务是非常重要的。这可以帮助你监控潜在的安全风险,确保只有必要的服务在运行。本文将介绍几种常用的命令来查看服务器上开放的端口。
1. 使用 netstat
命令
netstat
是一个网络统计工具,可以显示网络连接、路由表、接口统计信息等。要查看服务器上所有开放的端口,可以使用以下命令:
netstat -tuln
-t
:显示TCP端口-u
:显示UDP端口-l
:仅显示监听状态的端口-n
:以数字形式显示地址和端口号
例如,执行上述命令后,你可能会看到如下输出:
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 1234/sshd
tcp6 0 0 :::80 :::* LISTEN 5678/nginx
这个输出显示了两个监听端口:22(SSH)和80(HTTP)。
2. 使用 ss
命令
ss
是另一个强大的网络工具,用于显示套接字统计信息。它比 netstat
更快,并且提供了更多的功能。要查看所有开放的端口,可以使用以下命令:
ss -tuln
-t
:显示TCP端口-u
:显示UDP端口-l
:仅显示监听状态的端口-n
:以数字形式显示地址和端口号
例如,执行上述命令后,你可能会看到如下输出:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
udp LISTEN 0 0 0.0.0.0:123 0.0.0.0:*
这个输出显示了两个监听端口:22(SSH)和123(NTP)。
3. 使用 lsof
命令
lsof
是一个列出打开文件的工具,但它也可以用来查看网络连接和监听端口。要查看所有开放的端口,可以使用以下命令:
lsof -i -P -n | grep LISTEN
-i
:显示符合条件的互联网文件-P
:显示端口号而不是服务名称-n
:不解析主机名grep LISTEN
:过滤出监听状态的端口
例如,执行上述命令后,你可能会看到如下输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1234 root 3u IPv4 12345 0t0 TCP *:ssh (LISTEN)
nginx 5678 root 6u IPv6 12345 0t0 TCP *:http (LISTEN)
这个输出显示了两个监听端口:22(SSH)和80(HTTP)。
4. 使用 nmap
命令
nmap
是一个网络扫描工具,用于发现网络上的主机和服务。要扫描本地服务器上的所有开放端口,可以使用以下命令:
nmap -sT -O localhost
-sT
:进行TCP连接扫描-O
:尝试检测操作系统类型
例如,执行上述命令后,你可能会看到如下输出:
Starting Nmap 7.80 ( https://nmap.org ) at 2024-07-17 10:00 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00019s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
版权声明
本文仅代表作者观点,不代表米安网络立场。
上一篇:天津服务器检测机构有哪些? 下一篇:淮安服务器品牌电脑有哪些?
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。