Linux虚拟机端口号怎么看
Linux虚拟机端口号怎么看详细介绍
在 Linux 虚拟机中查看端口号有多种方式,下面为你详细介绍不同场景下常用的查看方法。
查看正在监听的端口
1. 使用
netstat 命令
netstat 是一个用于显示网络连接、路由表和网络接口等网络相关信息的工具。要查看正在监听的端口,可以使用以下命令:
bash
参数解释:
-t:显示 TCP 连接。-u:显示 UDP 连接。-l:仅显示监听状态的连接。-n:以数字形式显示地址和端口号,而不是将其解析为主机名和服务名。
示例输出:
plaintext
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:68 0.0.0.0:*
在上述输出中,Local Address 列显示了监听的地址和端口号。例如,0.0.0.0:22 表示在所有网络接口上监听 TCP 的 22 号端口。
2. 使用
ss 命令
ss 是一个用于显示套接字统计信息的工具,它比 netstat 更高效。要查看正在监听的端口,可以使用以下命令:
bash
ss
参数解释与 netstat -tuln 类似。
示例输出:
plaintext
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Porttcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 128 [::]:22 [::]:*
udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:*
查看特定进程占用的端口
1. 使用
lsof 命令
lsof(list open files)用于列出当前系统打开的文件,由于网络套接字也被视为文件,因此可以使用它来查看特定进程占用的端口。
例如,要查看所有进程占用的端口,可以使用以下命令:
bash
LISTEN
参数解释:
-i:显示所有网络连接信息。-P:不将端口号解析为服务名。-n:不将 IP 地址解析为主机名。grep LISTEN:只显示处于监听状态的连接。
示例输出:
plaintext
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)sshd 1234 root 4u IPv6 12346 0t0 TCP *:22 (LISTEN)
在上述输出中,sshd 进程占用了 TCP 的 22 号端口。
查看防火墙开放的端口
如果你想查看防火墙开放的端口,可以使用以下命令:
1. 使用
firewalld(适用于 CentOS 7 及以上版本)
bash
firewall-cmd --list-ports
示例输出:
plaintext
22/tcp 80/tcp 443/tcp
这表示防火墙开放了 TCP 的 22、80 和 443 号端口。
2. 使用
iptables(适用于较旧的 Linux 系统)
bash
iptables ACCEPT
912 iptables | ACCEPT
该命令会列出所有允许通过的规则,你可以从中查找开放的端口信息。