在服务器管理和维护过程中,了解服务器上开放的端口是非常重要的。开放的端口不仅关系到服务器的安全性,还直接影响到服务的正常运行。那么,如何查看服务器上都有哪些端口呢?本文将介绍几种常用的命令和方法。
1. 使用 netstat
命令
netstat
是一个常用的网络工具,可以用来查看网络连接、路由表、接口统计信息等。要查看服务器上开放的端口,可以使用以下命令:
netstat -tuln
-t
:显示 TCP 端口
-u
:显示 UDP 端口
-l
:显示监听中的端口
-n
:以数字形式显示地址和端口号
执行该命令后,你将看到类似以下的输出:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*
Local Address
列显示了服务器上开放的端口。
2. 使用 ss
命令
ss
是 netstat
的替代工具,功能更强大,性能更好。要查看服务器上开放的端口,可以使用以下命令:
ss -tuln
-t
:显示 TCP 端口
-u
:显示 UDP 端口
-l
:显示监听中的端口
-n
:以数字形式显示地址和端口号
执行该命令后,你将看到类似以下的输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*
同样,Local Address:Port
列显示了服务器上开放的端口。
3. 使用 lsof
命令
lsof
是一个列出当前系统打开文件的工具,也可以用来查看服务器上开放的端口。要查看服务器上开放的端口,可以使用以下命令:
lsof -i -P -n
-i
:显示网络连接
-P
:显示端口号而不是服务名称
-n
:以数字形式显示地址
执行该命令后,你将看到类似以下的输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
apache2 5678 www-data 3u IPv4 67890 0t0 TCP *:80 (LISTEN)
NAME
列显示了服务器上开放的端口。
4. 使用 nmap
命令
nmap
是一个强大的网络扫描工具,可以用来扫描服务器上开放的端口。要查看服务器上开放的端口,可以使用以下命令:
nmap localhost
执行该命令后,你将看到类似以下的输出:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
PORT
列显示了服务器上开放的端口。
总结
通过以上几种命令,你可以轻松查看服务器上开放的端口。不同的命令适用于不同的场景,netstat
和 ss
适用于快速查看,lsof
适用于查看具体进程,而 nmap
则适用于全面扫描。根据实际需求选择合适的工具,可以更高效地管理和维护服务器。
希望本文对你有所帮助!