要查看服务器上开启了哪些服务端口,可以使用以下几种常用的命令:
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
tcp6 0 0 :::80 :::* LISTEN
udp 0 0 0.0.0.0:123 0.0.0.0:*
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:* users:(("sshd",pid=1234,fd=5))
LISTEN 0 128 [::]:80 [::]:* users:(("nginx",pid=5678,fd=7))
lsof
可以列出当前系统打开的文件,包括网络端口。
命令示例:
lsof -i -P -n | grep LISTEN
-i
: 显示网络相关的文件-P
: 不将端口号转换为服务名-n
: 不将IP地址转换为主机名输出示例:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
nginx 5678 www-data 6u IPv4 23456 0t0 TCP *:80 (LISTEN)
nmap
是一个网络扫描工具,可以用来探测网络上的主机和服务。
命令示例:
nmap localhost
输出示例:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-04-01 12:34:56 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00013s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
root
或具有 sudo
权限的用户身份执行。通过这些命令,你可以全面了解服务器上当前开放的服务端口及其对应的服务。
领取专属 10元无门槛券
手把手带您无忧上云