在服务器管理和维护过程中,了解服务器上开放的端口是非常重要的。开放的端口不仅可以帮助我们了解服务器上运行的服务,还能帮助我们排查潜在的安全隐患。本文将介绍几种常用的命令,用于查看服务器上开放的端口。
1. netstat
命令
netstat
是一个非常常用的网络工具,可以显示网络连接、路由表、接口统计信息等。要查看服务器上开放的端口,可以使用以下命令:
netstat -tuln
-t
:显示 TCP 端口-u
:显示 UDP 端口-l
:显示监听中的端口-n
:以数字形式显示地址和端口号
执行该命令后,你将看到类似以下的输出:
Active Internet connections (only servers)
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 *:22 *:*
LISTEN 0 128 *:80 *:*
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)
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
总结
通过以上几种命令,你可以轻松查看服务器上开放的端口。每种命令都有其独特的优势,netstat
和 ss
适合快速查看,lsof
可以提供更详细的信息,而 nmap
则适合进行更全面的扫描。根据你的需求选择合适的工具,可以帮助你更好地管理和维护服务器。
希望本文对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言。