在服务器上查看端口的使用情况,可以通过多种命令和工具来实现。以下是一些常用的方法:
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
-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 [::]:80 [::]:*
lsof
命令lsof
可以列出当前系统打开的文件和使用这些文件的进程,包括网络端口。
示例命令:
lsof -i -P -n | grep LISTEN
-i
:显示网络相关的文件-P
:不将端口号转换为服务名-n
:不将IP地址转换为主机名输出示例:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
nginx 2345 nginx 6u IPv4 23456 0t0 TCP *:80 (LISTEN)
nmap
工具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.00019s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
lsof
或 netstat
找到占用端口的进程ID(PID)。kill
命令终止该进程。kill
命令终止该进程。通过以上方法,您可以有效地查看和管理服务器上的端口使用情况。