在Linux系统中,查看开启的端口有多种方法,以下是几种常用的命令:
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
tcp6 0 0 :::22 :::* LISTEN
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp6 0 0 :::123 :::*
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 [::]:22 [::]:*
UNCONN 0 0 0.0.0.0:123 0.0.0.0:*
UNCONN 0 0 [::]:123 [::]:*
lsof
命令lsof
可以列出当前系统打开的文件,包括网络端口。
sudo lsof -i -P -n | grep LISTEN
-i
表示显示网络文件。-P
表示不将端口号转换为服务名。-n
表示不将IP地址转换为主机名。示例输出:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
sshd 1234 root 4u IPv6 12346 0t0 TCP *:22 (LISTEN)
nmap
工具nmap
是一个网络扫描工具,可以用来探测主机上的开放端口。
sudo nmap -sS -O localhost
-sS
表示使用SYN扫描。-O
表示尝试识别操作系统。示例输出:
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.00019s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
netstat
或 ss
命令时提示权限不足。sudo
提升权限,例如 sudo netstat -tuln
。lsof
或 nmap
命令未安装。sudo apt-get install lsof
或 sudo apt-get install nmap
。通过以上方法,你可以有效地查看Linux系统中开启的端口,并根据需要进行相应的管理和维护。
领取专属 10元无门槛券
手把手带您无忧上云