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

news2024/9/19 19:55:01

在网络故障排查和系统管理中,检查端口占用情况是一项常见且重要的任务。本文将详细介绍如何使用 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.coloradmin.cn/o/2035221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter 学习 一部分注意点记录

使用AndroidStudio进行开发 假设你已经配置好Flutter和dart的SDK. 创建一个可执行dart文件 如果需要直接新建一个dart文件来运行,可以点击 File->New->New Flutter Project ,下面是接下来弹出的新建项目弹窗,选中左边的Dart&#xff…

SpringBoot 整合 RabbitMQ 实现延迟消息

一、业务场景说明 用于解决用户下单以后,订单超时如何取消订单的问题。 用户进行下单操作(会有锁定商品库存、使用优惠券、积分一系列的操作);生成订单,获取订单的id;获取到设置的订单超时时间&#xff0…

python语言day5 MD5 json

md5: python提供了内置的md5加密功能,使用md5模拟一个小项目: 注册: 启动py程序,在控制台界面提示用户输入用户名及密码; 使用md5加密 密码; 创建txt文件记录输入的用户名 和密文。 登录&…

访问网站显示不安全打不开怎么办如何处理

当访问网站时浏览器提示“不安全”,这通常是由于多种原因造成的。下面是一些常见的原因及其解决办法: 未启用HTTPS协议 如果网站仅使用HTTP协议,数据传输没有加密,会被浏览器标记为“不安全”。解决办法是启用HTTPS协议&#xff…

vue3-02-vue3中的组件通信

目录 组件通信一、vue3组件通信和vue2的区别二、父子通信2.1 props通信1)父→子传递数据(父组件向子组件传递数据)2)子→父传递数据 2.2 v-model1)v-model的本质2)给modelValue起别名3)$event 2…

【资源】wordpress 子比主题

简介 子比主题是一款功能强大的WordPress主题模板,支持社区论坛、商城、支付、古腾堡编辑器等多种功能。很多资源类网站都是基于此搭建的。搭建后的效果基本上和官网一致,可查看官网的演示效果。 官方网站:https://www.zibll.com/ 如要获取…

精酿啤酒的酿造过程 你喝的不仅仅是酒

大家下午好呀!今天我要带大家一起探索精酿啤酒的神秘世界!🌟🌟 第一步:原料准备 精酿啤酒的四大原料:麦芽、啤酒花、水和酵母。 别小看这些原料,它们的品质直接决定了啤酒的风味。🌾…

网络协议七 应用层 HTTP 协议

应用层常见的协议 HTTP协议 一. 如何查看我们的http 协议全部的内容有哪些呢? 一种合理的方法是 通过 wireshark 软件,找到想要查看的HTTP --->追踪流--->HTTP流 来查看 结果如下:红色部分 为 发送给服务器的,蓝色部分为服…

【Qt开发】QtCharts图表——在ui上添加QChartView控件并进行绘图配置

【Qt开发】QtCharts图表——在ui上添加QChartView控件并进行绘图配置 文章目录 控件安装和模块导入在ui上添加QChartView控件QChartView图表配置附录:C语言到C的入门知识点(主要适用于C语言精通到Qt的C开发入门)C语言与C的不同C中写C语言代码…

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

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

YOLO系列算法解析

一、深度学习算法概述 1、不同阶段算法优缺点分析 One-stage: 优点:速度非常快,适合做实时监测任务 缺点:效果通常不好 2、yolo评价指标 yolo评价指标:map和fps Map指标:综合衡量检测效果 精度:识别准确率…

代码随想录 day 37 动态规划

第九章 动态规划 part05 力扣上没有纯粹的完全背包的题目,我在卡码网上制作了题目,大家可以去做一做,题目链接在下面的文章链接里。 后面的两道题目,都是完全背包的应用,做做感受一下 完全背包 视频讲解&#xff1a…

这些错误都没遇到过,还敢说你做过自动化测试?!

在执行冒烟测试、回归测试或多浏览器兼容性测试时,利用web自动化测试可以显著节省人力成本,因此web自动化测试的价值非常大。然而,任何从事过web自动化测试的人都会有这样的体会:写自动化代码相对简单,但维护的成本却非常高。一日…

若依服务器上云部署

准备条件: 安装好mysql和redis并配置好密码。 1.安装JDK,我这里使用的是1.8 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicenseaccept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11…

40 - asctime()函数

文章目录 1 函数原型2 参数3 返回值4 示例4.1 示例14.2 示例2 1 函数原型 asctime():时间类型转换,函数原型如下: char* asctime (const struct tm * timeptr);ctime()库描述如下: Convert tm structure to string 1. Interpre…

MySQL4 多表查询 内连接

内连接 多表查询内连接 多表查询 数据准备 CREATE DATABASE db4; USE db4; -- 创建部门表 create table if not exists dept(deptno varchar(20) primary key , -- 部门号name varchar(20) -- 部门名字 );-- 创建员工表 create table if not exists emp(eid varchar(20) pr…

【文件IO】文件系统操作

文章目录 基本操作概述1. 文件属性2. 文件构造方法3. 文件方法1. 文件创建2. 文件删除3. 查看目录下所有的文件名4. 遍历目录5. 创建目录5. 目录重命名 基本操作概述 创建文件删除文件创建目录重命名文件判定文件存在… Java 中,提供了一个 File 类,进…

电商平台的推荐算法需要备案吗?

答案是肯定的! 政策要求: 根据我国《互联网信息服务算法推荐管理规定》(以下简称《规定》)第六条,具有舆论属性或社会动员能力的互联网信息服务,包括电商平台的推荐算法,需要进行备案。 电商平…

使用js和css 实现div旋转围绕圆分布排列

记录,以防忘记 围绕圆 import React, { useEffect } from react; import ./index.scoped.scss;const Test () > {const arr Array.from({ length: 28 }, (_, index) > index 1);useEffect(() > {const dayTotal arr.length;// 动态设置每个点的旋转角…

快速找出问题快件:批量查询与筛选技巧

在日常生活中,我们经常需要查询大量的快递信息。尤其在电商、物流等行业,快速、准确地查询和筛选快递信息至关重要。固乔快递查询助手是一款强大的工具,能帮助用户批量查询快递,并快速筛选出问题快件。下面我们将详细介绍如何使用…