如何检查端口占用:netstat和lsof指令

在网络故障排查和系统管理中,检查端口占用情况是一项常见且重要的任务。本文将详细介绍如何使用 netstat 和 lsof 这两个强大的工具来检查端口占用和相关服务。

1. 使用 netstat 查看端口占用

netstat (network statistics) 是一个用于显示网络连接、路由表、接口统计等信息的命令行工具。

1.1 最常用的 netstat 命令

netstat -an

这是最常用的形式,让我们解析其参数:

-a: 显示所有连接和监听端口
-n: 以数字形式显示地址和端口号,而不是尝试解析主机名、服务名或端口名
这个命令会显示所有的网络连接,包括 TCP、UDP,以及处于 LISTEN 状态的端口。

1.2 查看占用端口的进程

如果你想知道哪些进程占用了端口,可以添加 -p 参数:

sudo netstat -anp

注意:使用 -p 通常需要 root 权限。

1.3 netstat 输出解析

运行 netstat -anp 后,你会看到类似以下的输出:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd
tcp6       0      0 :::80                   :::*                    LISTEN      5678/nginx
udp        0      0 0.0.0.0:68              0.0.0.0:*                           910/dhclient
  • Proto: 协议(TCP 或 UDP)
  • Recv-Q 和 Send-Q: 接收队列和发送队列中的字节数
  • Local Address: 本地地址和端口号
  • Foreign Address: 远程地址和端口号
  • State: 连接状态(如 LISTEN, ESTABLISHED 等)
  • PID/Program name: 使用该连接的进程ID和进程名称

1.4 其他有用的 netstat 参数

-t: 仅显示 TCP 连接
-u: 仅显示 UDP 连接
-l: 只显示监听状态(LISTEN)的连接
这些参数可以组合使用,例如:

1.5 查看特定端口

通常,我们的netstat指令要结合grep,比如我们只想查看特定端口(例如 8886):

netstat -an | grep 8886

在这里插入图片描述
可以看到-an指令基本上只能看到用什么协议,只是知道这个端口被占用了,让我们来使用-anp

netstat -anp | grep 8886

在这里插入图片描述

如果你是普通用户的话,你可以发现,你仍然是看不见的

普通用户需要提权

sudo netstat -anp | grep 8886

然后我可以看到进程号,以及是docker的服务占用了ipv4/ipv6协议下的8886端口
在这里插入图片描述

2. 使用 lsof 查看端口占用

lsof (List Open Files) 是另一个强大的工具,不仅可以查看端口占用,还可以查看进程打开的文件。

2.1 基本用法

查看所有网络连接:

sudo lsof -i

查看特定端口(如 8080):

sudo lsof -i :8080

2.2 lsof 输出解析

运行 sudo lsof -i 后,你会看到类似以下的输出:

COMMAND     PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
sshd       1234   root    3u  IPv4    12345      0t0  TCP *:22 (LISTEN)
nginx      5678   www     6u  IPv6    23456      0t0  TCP *:80 (LISTEN)
  • COMMAND: 进程名称
  • PID: 进程 ID
  • USER: 运行该进程的用户
  • FD: 文件描述符
  • TYPE: 文件类型
  • DEVICE: 设备号
  • SIZE/OFF: 文件大小或偏移量
  • NODE: 节点号
  • NAME: 文件名,对于网络连接,显示协议、本地地址、远程地址、状态

3. netstat 和 lsof 的比较

netstat 优势:

更直观的网络连接视图
在大多数系统中默认安装
参数组合灵活,适合快速检查

lsof 优势:

提供更详细的进程信息
可以同时查看文件系统和网络使用情况
在处理大量连接时通常比 netstat 更快

看自己习惯哪个吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/399829.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端react集成OIDC

文章目录 OpenID Connect (OIDC)3种 授权模式 【服务端】express 集成OIDC【前端】react 集成OIDCoidc-client-js库 原生集成react-oidc-context 库非组件获取user信息 OAuth 2.0 协议主要用于资源授权。 OpenID Connect (OIDC) https://openid.net/specs/openid-connect-core…

【案例44】Oracle启用“_optimizer_skip_scan_enabled” 参数导致NC系统卡死问题

问题现象 客户反映系统卡顿,很多操作耗时都比较长,通过nmc监控,线程耗时主要集中在数据库上。 问题分析 首先监控数据库服务器资源使用情况,CPU、内存使用正常,没有达到峰值。 监控磁盘IO情况,发现磁盘最…

WPF篇(11)-ToolTip控件(提示工具)+Popup弹出窗口

ToolTip控件 ToolTip控件继承于ContentControl,它不能有逻辑或视觉父级,意思是说它不能以控件的形式实例化,它必须依附于某个控件。因为它的功能被设计成提示信息,当鼠标移动到某个控件上方时,悬停一会儿,…

【C++ 面试 - 基础题】每日 3 题(十一)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

解决浏览器书签同步问题,极空间部署开源免费的跨平台书签同步工具『xBrowserSync』

解决浏览器书签同步问题,极空间部署开源免费的跨平台书签同步工具『xBrowserSync』 哈喽小伙伴们好,我是Stark-C~ 作为一个喜欢折腾的数码党,我平时上网冲浪使用的浏览器绝不会只限于一种,就比如说我在上班的地方只会用到Edge浏…

安科瑞Acrel-2000ES储能能量管理系统在新型电力系统下分布式储能的研究

摘要:传统电力系统的结构和运行模式在以新能源为主体的新型电力系统中发生了巨大的变化,分布式储能作为电力系统中重要的能量调节器,也迎来了新的发展机遇。立足于储能技术发展现状,分析了分布式储能技术特点及在清洁可再生能源方…

priority_queue的介绍 仿函数

1.priority_queue的介绍 1.优先队列是⼀种容器适配器,根据严格的弱排序标准,它的第⼀个元素总是它所包含的元素中最⼤的。 2.此上下⽂类似于堆,在堆中可以随时插⼊元素,并且只能检索最⼤堆元素(优先队列中位于顶部的元…

接口自动化--Postman(1)

Postman介绍 介绍:Postman是一款接口调试工具特点:支持Mac、Windows和Linux下载:Postman官网下载 【黑马客达天下-登录接口调试】 1、获取验证码 需求:使用Postman访问验证码接口,并查看响应结果地址:h…

北斗三号5G遥测终端机系统在水库大坝安全监测应用

一、概述 我国现有水库大坝9.8万余座,是世界上拥有水库大坝最多的国家。这些水库大坝在防洪、发电、供水、灌溉等方面发挥巨大效益的同时,所存在的安全风险不容忽视。大坝安全监测是大坝安全管理的重要内容,是控制大坝风险的重要措施。大坝安…

Spring入门讲解

这里写目录标题 Spring基础概念关键重点主要特性主要优势Spring与Java EE的对比Spring生态系统概述总结 Spring 基础概念 Spring是一个开源的轻量级Java开发框架,它提供了全面的基础设施支持,简化了企业级应用的开发和部署。Spring的核心理念是依赖注入…

Stable Diffusion 必备插件推荐,菜鸟轻松成高手!

前言 一个刚学AI绘画的小菜鸟如何快速成为Stable Diffusion高手?答案就是SD插件。 只要学会使用SD的各种插件,帮你写正向和负向提示词,修复人脸/身体/手指,高清放大图片,指定人物pose,图片微调等等都可以…

合合信息OCR支持30类国内常见票据一站式分类识别,支持医疗发票、数电票识别

合合信息TextIn平台明星产品——国内通用票据识别,重磅更新! 产品支持票据类型扩展到23大类、30小类,覆盖场景更全面,同时升级优化了多款票据识别模型,平均识别率较前版本提升11.5%,整体识别速度提升21.9%…

手写mybatis拦截器自动填充数据

文章目录 🌞 Sun Frame:SpringBoot 的轻量级开发框架(个人开源项目推荐)🌟 亮点功能📦 spring cloud模块概览常用工具 🔗 更多信息1.将sun-club-subject模块的登录拦截器放到sun-club-common包中…

Prometheus+Grafana保姆笔记(1)——Prometheus+Grafana的安装

Prometheus Grafana 的组合在微服务项目中可以完成许多DevOps任务,它们共同提供了强大的监控和可视化功能。 我们陆续介绍Prometheus Grafana 的相关用法。 首先介绍PrometheusGrafana的安装。 安装 Prometheus Prometheus 是GO写的,并不依赖于 Ja…

HIT CSAPP——程序人生-Hello’s P2P

本文链接:https://blog.csdn.net/QingFeng_0813/article/details/139468749?spm1001.2014.3001.5502 计算机系统 大作业 题 目 程序人生-Hello’s P2P 专 业 医学与健康学院 学   号 2022110762 班 级 2252003 …

(回溯) LeetCode 47. 全排列||

原题链接 建议先练习:全排列| 一. 题目描述 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]]示例 2: 输入&a…

Java流程控制01:用户交互Scanner

本节教学视频链接:https://www.bilibili.com/video/BV12J41137hu?p33&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5https://www.bilibili.com/video/BV12J41137hu?p33&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 Scanner 类用于扫描输入文本从字符串中提…

Bug 解决 | 组件库报错、或样式丢失不生效

目录 一、前言 二、版本问题 1、使用 VantUI 的 toast 组件报错? 2、引入 VantUI 组件库后,toast 组件样式丢失了? 3、使用 Ant Design Vue 组件库,启动后显示 antd.css 不存在? 4、Vant UI 组件库引入的 tabs 组…

数据中心安全建设整体解决方案(DOC原件22页)

数据中心的安全体系建设并非安全产品的堆砌,它是一个根据用户具体业务环境、使用习惯、安全策略要求等多个方面构建的一套生态体系,涉及众多的安全技术,实施过程需要涉及大量的调研、咨询等工作,还会涉及到众多的安全厂家之间的协…

LangChain 推出 LangGraph Studio:首款用于可视化、交互和调试复杂代理应用的代理 IDE

嘿,听说了吗?Langchain最近发布了一项重大更新,他们推出了官方Agent IDE,并且免费开放了LangGraph平台。这对于AI开发者来说是个好消息,意味着我们现在有了更强大的工具来构建智能应用。 今天,我们就来分享…