在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 :::80 :::* LISTEN
udp 0 0 0.0.0.0:123 0.0.0.0:*
ss
命令ss
是 netstat
的替代品,它提供了更多的功能和更好的性能。
基本用法:
ss -tuln
参数含义与 netstat
相同。
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 511 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 :::80 :::*
lsof
命令lsof
(List Open Files)可以列出当前系统打开的文件,包括网络端口。
基本用法:
lsof -i :port_number
将 port_number
替换为你想查询的端口号。
示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
nmap
命令nmap
是一个网络扫描工具,可以用来探测网络上的主机和服务。
基本用法:
nmap localhost
这将扫描本地主机的所有端口。
示例输出:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-04-01 12:34 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
问题: 查看端口时显示“Permission denied”。 原因: 某些命令需要root权限才能查看所有端口。 解决方法:
sudo netstat -tuln
或
sudo ss -tuln
通过这些命令,你可以有效地查看Linux系统中的端口使用情况,并根据需要进行相应的管理和调试。
领取专属 10元无门槛券
手把手带您无忧上云