linux 查看端口占用

本文介绍如何使用netstat命令在Linux环境下查看端口占用情况,包括显示TCP和UDP连接状态、使用IP地址而非域名显示结果、显示监听状态的Socket、显示使用Socket的应用程序等。

linux 查看端口占用

本文介绍一下linux查看端口占用基本命令:


1. 查看端口占用:

[root@centos9 /]# netstat -tunlp

查看如下

注:

  1. -t或–tcp:显示TCP传输协议的连线状况;
  2. -u或–udp:显示UDP传输协议的连线状况;
  3. -n或–numeric:直接使用ip地址,而不通过域名服务器;
  4. -l或–listening:显示监控中的服务器的Socket;
  5. -p或–programs:显示正在使用Socket的程序识别码和程序名称;

2. 查看指定的端口号的情况:

[root@centos9 /]# netstat -tunlp | grep 10081

look

3.查看指定进程的情况:

[root@centos9 /]# netstat -tunlp | grep 16390

look

<think> 我们正在回答用户关于“Linux系统查看端口占用”的问题。 根据用户提供的引用内容,我们得知可以使用netstat命令,并配合参数-t、-u、-l、-p、-n等来查看端口占用情况。 同时,用户引用中提到了具体查看某一端口号的命令:netstat -ntulp | grep 端口号 考虑到引用内容已经给出了基本方法,我们将详细展开,并补充其他常用方法(如lsof和ss命令),使回答更全面。 注意:在Linux中,查看端口占用的常用命令有netstat、lsof和ss。其中netstat在较新的系统中可能被ss替代,但netstat仍然广泛使用。 我们将按照以下结构回答: 1. 使用netstat命令(如引用所述,但详细说明) 2. 使用lsof命令 3. 使用ss命令(更现代的工具) 同时,我们会注意: - 普通用户可能需要sudo权限 - 解释命令中参数的含义 另外,引用中的说明: -t: TCP -u: UDP -l: 仅显示监听套接字 -p: 显示进程信息(需要sudo) -n: 显示数字地址(不解析域名) 我们还会提醒用户,如果找不到netstat命令,可能需要安装net-tools(但很多系统默认已安装)。 最后,生成相关问题。 注意:用户引用标记为[^1],我们会在引用到的地方使用该标记。 </think> 在 Linux 系统中查看端口占用情况,可通过以下方法实现: ### 🔍 方法一:使用 `netstat` 命令(推荐) ```bash # 查看所有 TCP/UDP 端口占用情况(需 root 权限) sudo netstat -tunlp # 查看指定端口(如 8080)占用 sudo netstat -tunlp | grep :8080 ``` **参数说明**: - `-t`:显示 TCP 端口 - `-u`:显示 UDP 端口 - `-n`:以数字形式显示地址(不解析域名) - `-l`:仅显示监听中的套接字 - `-p`:显示进程 ID 和名称 **输出示例**: ``` Proto Recv-Q Send-Q Local Address Foreign Address PID/Program name tcp6 0 0 :::8080 :::* 1234/java ``` > 💡 最后一列明确显示端口 `8080` 被 PID `1234` 的 Java 进程占用 [^1]。 --- ### 🔍 方法二:使用 `lsof` 命令 ```bash # 查看所有端口占用 sudo lsof -i -P -n # 查看指定端口(如 80) sudo lsof -i:80 ``` **参数说明**: - `-i`:显示网络连接 - `-P`:禁用端口名称转换(显示数字端口) - `-n`:禁用主机名转换(显示 IP 地址) --- ### 🔍 方法三:使用 `ss` 命令(`netstat` 的现代替代) ```bash # 查看所有端口占用 sudo ss -tunlp # 筛选指定端口(如 3306) sudo ss -tunlp 'sport = :3306' ``` **优势**:执行速度比 `netstat` 更快,输出格式相似。 --- ### 📌 关键注意事项 1. **权限要求** 查看系统级端口占用需 `sudo` 权限,否则无法显示完整进程信息 $$ \text{普通用户} \xrightarrow{\text{sudo}} \text{root 权限} $$ 2. **端口状态解读** - `LISTEN`:端口正在监听连接 - `ESTABLISHED`:活跃连接 - `TIME_WAIT`:连接关闭中 3. **防火墙影响** 若端口未显示占用但无法访问,需检查防火墙: ```bash sudo ufw status # Ubuntu sudo firewall-cmd --list-ports # CentOS ``` --- ### 💻 操作流程图解 ```mermaid graph TD A[需查端口号] --> B{选择工具} B -->|基础查询| C[netstat -tunlp] B -->|快速扫描| D[ss -tunlp] B -->|进程详情| E[lsof -i] C --> F[grep 端口号] D --> F E --> F F --> G[获得进程PID] G --> H[kill -9 PID] ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn565973850

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值