在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 128 *:22 *:*
LISTEN 0 100 *:80 *:*
lsof
命令lsof
可以列出当前系统打开的文件,包括网络端口。
基本用法:
lsof -i :port_number
-i
:选择显示网络文件。示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 6u IPv4 12345 0t0 TCP *:80 (LISTEN)
nmap
命令nmap
是一个网络扫描工具,可以用来探测主机上的开放端口。
基本用法:
nmap localhost
或者指定特定端口范围:
nmap -p 1-65535 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.00018s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
常见问题:
lsof
或 netstat
查找占用端口的进程并终止它,或者修改服务的监听端口。示例代码:
# 查找占用80端口的进程
sudo lsof -i :80
# 终止进程(假设PID为1234)
sudo kill -9 1234
通过以上命令和方法,可以有效地查看和管理Linux系统中的端口使用情况。
领取专属 10元无门槛券
手把手带您无忧上云