Linux常用查看端口号命令

本文详细介绍了在Linux系统中如何使用lsof和netstat命令查看端口占用情况,包括不同参数的用法,如查看特定端口、显示进程信息等,是Linux系统管理和故障排查的实用指南。

Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。

注意:lsof 用普通用户--权限等同于root 可以使用;netstat 命令普通用户不行,必须是root用户,sudo netstat

lsof

lsof (list open files) 是一个列出当前系统打开文件的工具。

lsof 查看端口占用语法格式:lsof -i:端口号

其他参数用法

lsof -i:8080:查看8080端口占用

lsof abc.txt:显示开启文件abc.txt的进程

lsof -c abc:显示abc进程现在打开的文件

lsof -c -p 1234:列出进程号为1234的进程所打开的文件

lsof -g gid:显示归属gid的进程情况

lsof +d /usr/local/:显示目录/usr/local/下被进程开启的文件

lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长

lsof -d 4:显示使用fd为4的进程

lsof -i -U:显示所有打开的端口和UNIX domain文件

-------------------------------------------------------------------------------------------------------------

netstat

netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。

netstat 查看端口占用语法格式:

netstat -tunlp | grep 端口号

-t (tcp) 仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化为数字

-l 仅列出在Listen(监听)的服务状态

-p 显示建立相关链接的程序名

更多命令:

netstat -ntlp                      //查看当前所有 tcp 端口

netstat -ntulp | grep 80    //查看所有80端口使用情况

netstat -ntulp | grep 3306 //查看所有3306端口使用情况


 
Linux 系统中,查看端口号相关的命令有多种方式,每种方法适用于不同的场景和需求。以下是常用的几种方法及其使用方式: ### 使用 `netstat` 命令查看端口号 `netstat` 是一个网络统计工具,可以显示各种网络连接、路由表、接口统计等信息。通过 `netstat` 可以查看特定端口的占用情况。 ```bash netstat -tuln | grep <端口号> ``` 例如查看端口 3306 的占用情况: ```bash netstat -tuln | grep 3306 ``` 该命令中: - `-t` 表示显示 TCP 连接。 - `-u` 表示显示 UDP 连接。 - `-l` 表示仅显示监听状态的端口。 - `-n` 表示不解析服务名称,直接显示端口号[^1]。 ### 使用 `ss` 命令查看端口号 `ss` 是一个更高效的网络诊断工具,功能类似于 `netstat`,但速度更快。 ```bash ss -tuln | grep <端口号> ``` 例如查看端口 3306 的占用情况: ```bash ss -tuln | grep 3306 ``` 命令参数与 `netstat` 类似,其优势在于执行速度更快且资源占用更低[^1]。 ### 使用 `lsof` 命令查看端口号 `lsof` 是一个列出当前系统打开文件的工具,可以用于查看特定端口被哪些进程占用。 ```bash lsof -i :<端口号> ``` 例如查看端口 3306 的占用情况: ```bash lsof -i :3306 ``` 该命令会显示占用该端口的进程 ID(PID)和进程名称,便于进一步分析和操作[^1]。 ### 使用 `fuser` 命令查看端口号 `fuser` 可用于查看某个端口被哪些进程使用。 ```bash fuser <端口号>/tcp ``` 例如查看端口 3306 的占用情况: ```bash fuser 3306/tcp ``` 该命令会输出占用该端口的进程 ID,便于后续通过 `ps` 命令进一步查看进程信息[^1]。 ### 使用 `nmap` 命令查看端口号 `nmap` 是一个网络发现和安全审计工具,可以用于扫描本地或远程主机的端口状态。 ```bash nmap -p <端口号> localhost ``` 例如查看端口 3306 的占用情况: ```bash nmap -p 3306 localhost ``` 该命令会显示端口的状态(如 `open` 或 `closed`),适用于检查本地或远程主机的端口开放情况。 ### 结合 `ps` 和 `netstat` 查找占用端口的程序名称 如果需要查找占用端口的具体程序名称,可以通过 `netstat` 找到进程 ID(PID),再通过 `ps` 命令查看程序名称。 ```bash ps -aux | grep <PID> ``` 例如通过 `netstat` 找到 PID 后,使用以下命令查看程序名称: ```bash ps -aux | grep 1234 ``` 该方法适用于需要确认占用端口的具体程序,并决定是否需要结束该进程以释放端口[^2]。 ### 结束占用端口的进程 如果发现端口被占用且需要释放,可以使用 `kill` 命令结束进程。 ```bash kill <PID> ``` 如果进程无法正常结束,可以强制终止: ```bash kill -9 <PID> ``` 此操作需要谨慎,避免误杀关键系统进程[^2]。 ### 连接状态说明 在查看端口连接状态时,可能会遇到 `TIME-WAIT` 状态。该状态表示连接已经关闭,但系统仍在等待足够时间以确保远程主机接收到关闭请求。此状态通常不会影响新连接的建立,但若频繁出现,可能需要优化网络配置或调整系统参数[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值