在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
-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
可以列出当前系统打开的文件,包括网络端口。
sudo lsof -i -P -n | grep LISTEN
-i
: 显示网络相关的文件-P
: 不将端口号转换为服务名-n
: 不将IP地址转换为主机名示例输出:
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
nginx 5678 www-data 6u IPv4 23456 0t0 TCP *:80 (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.00018s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
sudo
提升权限。net-tools
、iproute2
或 nmap
。man netstat
),或使用更简单的选项组合。通过以上方法,你可以有效地查看Linux系统中端口的占用情况,并根据需要进行进一步的分析和处理。
长安链开源社区“核心开发者说”系列活动
小程序·云开发官方直播课(数据库方向)
TVP技术夜未眠
第四期Techo TVP开发者峰会
云+社区开发者大会(北京站)
腾讯位置服务技术沙龙
架构师夜生活
技术创作101训练营
云+社区技术沙龙[第26期]
DBTalk技术分享会
云+社区技术沙龙[第22期]
云+社区技术沙龙[第5期]
领取专属 10元无门槛券
手把手带您无忧上云