当前位置: 首页 > news >正文

通过netstat命令查看Linux的端口占用

一、netstat

完整写作network statistics,简写为netstat ,常用的几个参数为lntup

-l : 仅展示监听状态下的程序(state 为LISTEN)。
-n :会使用ip+端口的方式,来进行地址的描述。不使用-n就会变成服务器的名称+端口号 或者ip地址+协议。
-t与-u: 查看tcp协议和udp协议。
-p : 会把程序占用的进程名称和PID(program id,进程ID)。

netstat -lntup | head:查看当前几个端口使用情况。
netstat -lntup或者netstat -tlunp、也就是说参数-tlunp的顺序改变效果相同:查看启动的线程。

netstat -lntup | grep nginx :查看启动的线程中是否有名称中带有nginx的。
来自我这篇文章:Windows11与CentOS7.9 2009下安装配置nginx后启动整个项目中2.1 下载与安装配置

//6、查看nginx的进程
yum install net-tools -y
netstat -lntup | grep nginx//查看启动的nginx进程
ps -ef | grep nginxyum install lsof  
lsof -i :80

netstat -lntup | grep nginx 截图
在这里插入图片描述
netstat -lntup | grep docker:查看启动的线程中是否有名称中带有docker的。

(Java相关)
netstat -tlunp | grep java:查看启动的进程中是否有名称中带有java的,会显示其PID值(进程ID)
ps -p PID值 -f:例如ps -p 18391 -f,就是显示哪个程序使用了java,一般为java -jar命令,例如java -jar testdemo-0\.0\.1-SNAP.jar
ps -p PID值 -ef:显示的更加详细。
find . -name "testdemo-0\.0\.1-SNAP*" :查询"testdemo-0.0.1-SNAP*"文件的位置,*为通配符;
\.表示转义为.,所以,find . -name "demo-0\.0\.1-SNAP*"就是find . -name "demo-0.0.1-SNAP*"
相关:CentOS: $‘\r‘: command not found
Windows11与CentOS7下配置与检测JDK与Maven环境变量-中安装jdk-8u371-linux-x64.tar.gz

netstat -tlnp :查看当前所有的tcp端口。
netstat -lntup |grep 80 :查看所有80端口使用情况。

netstat tlnp | grep 端口号:查看此端口号的程序是否启动,例如netstat tlnp | grep 80

//netstat -ano | findstr "端口号"
netstat -ano | findstr "81"netstat -ano | findstr 81

[root@localhost ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:1521            0.0.0.0:*               LISTEN      2324/docker-proxy   
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      868/beam.smp        
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      868/beam.smp        
tcp        0      0 0.0.0.0:4369            0.0.0.0:*               LISTEN      1566/epmd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      869/sshd: /usr/sbin 
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      867/cupsd           
tcp6       0      0 :::5672                 :::*                    LISTEN      868/beam.smp        
tcp6       0      0 :::1521                 :::*                    LISTEN      2329/docker-proxy   
tcp6       0      0 :::4369                 :::*                    LISTEN      1566/epmd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      867/cupsd           
tcp6       0      0 :::22                   :::*                    LISTEN      869/sshd: /usr/sbin 
udp        0      0 0.0.0.0:41722           0.0.0.0:*                           763/avahi-daemon: r 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           763/avahi-daemon: r 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           793/chronyd         
udp6       0      0 :::5353                 :::*                                763/avahi-daemon: r 
udp6       0      0 :::59094                :::*                                763/avahi-daemon: r 
udp6       0      0 ::1:323                 :::*                                793/chronyd         
[root@localhost ~]# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:1521            0.0.0.0:*               LISTEN      2324/docker-proxy   
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      868/beam.smp        
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      868/beam.smp        
tcp        0      0 0.0.0.0:4369            0.0.0.0:*               LISTEN      1566/epmd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      869/sshd: /usr/sbin 
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      867/cupsd           
tcp6       0      0 :::5672                 :::*                    LISTEN      868/beam.smp        
tcp6       0      0 :::1521                 :::*                    LISTEN      2329/docker-proxy   
tcp6       0      0 :::4369                 :::*                    LISTEN      1566/epmd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      867/cupsd           
tcp6       0      0 :::22                   :::*                    LISTEN      869/sshd: /usr/sbin 
udp        0      0 0.0.0.0:41722           0.0.0.0:*                           763/avahi-daemon: r 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           763/avahi-daemon: r 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           793/chronyd         
udp6       0      0 :::5353                 :::*                                763/avahi-daemon: r 
udp6       0      0 :::59094                :::*                                763/avahi-daemon: r 
udp6       0      0 ::1:323                 :::*                                793/chronyd         
[root@localhost ~]# netstat -lntup | grep nginx   //查看启动的线程中是否有名称中带有nginx的
[root@localhost ~]# netstat -lntup | grep docker  //查看启动的线程中是否有名称中带有docker的
tcp        0      0 0.0.0.0:1521            0.0.0.0:*               LISTEN      2324/docker-proxy   
tcp6       0      0 :::1521                 :::*                    LISTEN      2329/docker-proxy   
[root@localhost ~]# 

说明
0.0.0.0:代表本机上所有可用的任意地址, 0 0.0.0.0:1521 表示本机上所有地址的1521端口0 0.0.0.0:15672 表示表示本机上所有地址的15672端口
tcp 0 0 0.0.0.0:1521 :表示监听所有地址的TCP1521端口。

state参数含义

LISTEN:(Listening for a connection.)侦听来自远方的TCP端口的连接请求
SYN-SENT:(Active; sent SYN. Waiting for a matching connection request after having sent a connection request.)再发送连接请求后等待匹配的连接请求
SYN-RECEIVED:(Sent and received SYN. Waiting for a confirming connection request acknowledgment after having both received and sent connection requests.)再收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED:(Connection established.)代表一个打开的连接
FIN-WAIT-1:(Closed; sent FIN.)等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:(Closed; FIN is acknowledged; awaiting FIN.)从远程TCP等待连接中断请求
CLOSE-WAIT:(Received FIN; waiting to receive CLOSE.)等待从本地用户发来的连接中断请求
CLOSING:(Closed; exchanged FIN; waiting for FIN.)等待远程TCP对连接中断的确认
LAST-ACK:(Received FIN and CLOSE; waiting for FIN ACK.)等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT:(In 2 MSL (twice the maximum segment length) quiet wait after close. )等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:(Connection is closed.)没有任何连接状态

二、其他排查命令

2.1 命令相关文章

来自我这篇文章:查看CentOS版本及系统位数与设置CentOS 7.9 2009 防火墙配置放开端口的命令与过程中的2.1 命令汇总

//其他排查命令
//查看启动的nginx进程
ps -ef | grep nginx//查看端口占用信息
//1、安装lsof
//执行lsof -i:8083命令时报错-bash: lsof: command not found,就需要安装lsof
yum install lsof//2、查看端口占用信息
lsof -i:端口
//例如将nginx默认的80端口修改为8083端口前,查看8083端口有无被占用
lsof -i:8083losf(list open files 列出操作系统的打开的文件)的其他组合命令:
//显示此文件名的进程。
lsof  文件名//显示该进程值对应的进程打开的文件。
lsof -p PID(进程ID)

来自我这篇文章:Windows11与CentOS7.9 2009下安装配置nginx后启动整个项目中1.2.1 方法1-直接修改nginx的默认端口值(推荐)

//1.2.1 方法1-直接修改nginx的默认端口值(推荐)
//1-进入nginx解压目录
d:
cd  D:\develop\nginx-1.24.0\//2-启动nginx
start nginx//3-查看nginx进程  如果显示 信息:没有运行的任务匹配指定标准  执行第4步
tasklist /fi "imagename eq nginx.exe"//4-查看端口占用,根据端口号81,获取PID(进程ID)
netstat -ano | findstr "端口号"
netstat -ano | findstr "81"或netstat -ano | findstr 81//5-查看PID对应的进程
tasklist | findstr "进程ID"//1.2.2 方法2-结束占用80端口的进程
//结束占用80端口的进程:/1-进入nginx解压目录
d:
cd  D:\develop\nginx-1.24.0\//2-启动nginx
start nginx//3-查看nginx进程  如果显示 信息:没有运行的任务匹配指定标准  执行第4步
tasklist /fi "imagename eq nginx.exe"//4-查看端口占用,根据端口号80,获取PID(进程ID)
netstat -ano | findstr "端口号"
netstat -ano | findstr "80"或netstat -ano | findstr 80//5-根据PID结束进程
taskkill /F /PID PID值
或者
taskkill -f -pid PID值
或者(可能会直接结束该程序,相当于任务管理器中结束)
taskkill  /f /t /im PID值

2.2 常用命令

ps -ef | grep nginx

// 从根目录开始找nginx.conf
find / -name nginx.conf

[root@freedomdjc local]# find / -name nginx.conf
/var/lib/docker/overlay2/70c0652799a9d95fb4ee7e52e35e0f3b2ea2e786264bbbf29fbfedc16ac3acb2/diff/etc/nginx/nginx.conf
/usr/local/nginx-1.24.0/conf/nginx.conf
/usr/local/nginx1.24.0/conf/nginx.conf
/opt/docker-compose/ruoyicloudplus/docker/nginx/conf/nginx.conf
/docker/nginx/conf/nginx.conf
[root@freedomdjc local]#

//新建目录/data,并且进入/data目录,编辑uwsgi.ini文件
mkdir /data&&cd /data &&vim uwsgi.ini

//移动 /root/20231029/GetServerInfo.py 文件到/data目录中。(/root/20231029/GetServerInfo.py已经不存在了,若是cp命令复制,GetServerInfo.py就会存在
mv /root/20231029/GetServerInfo.py /data

//查看系统默认安装的python的位置
whereis python

//查看系统默认安装的python的位置
[root@iZbp1fnrewknornmqkhqpiZ ~]# whereis python
python: /usr/bin/python3.6m-x86_64-config /usr/bin/python3.6-config /usr/bin/python3.6m /usr/bin/python /usr/bin/python3.6m-config /usr/bin/python2.7 /usr/bin/python3.6 /usr/lib/python2.7 /usr/lib/python3.6 /usr/lib64/python2.7 /usr/lib64/python3.6 /etc/python /usr/local/lib/python3.6 /usr/include/python3.6m /usr/include/python2.7 /usr/share/man/man1/python.1.gz
[root@iZbp1fnrewknornmqkhqpiZ ~]# 

//查看python在/usr/bin目录中的内容
cd /usr/bin
ll python*

//查看python在/usr/bin目录中的内容
[root@iZbp1fnrewknornmqkhqpiZ bin]# cd /usr/bin
[root@iZbp1fnrewknornmqkhqpiZ bin]# ll python*
lrwxrwxrwx 1 root root     7 Jul 18 17:31 python -> python2
lrwxrwxrwx 1 root root     9 Jul 18 17:31 python2 -> python2.7
-rwxr-xr-x 1 root root  7144 Jun 20 19:37 python2.7
lrwxrwxrwx 1 root root     9 Jul 18 17:29 python3 -> python3.6
-rwxr-xr-x 2 root root 11336 Jun 20 19:55 python3.6
lrwxrwxrwx 1 root root    17 Jul 18 17:29 python3.6-config -> python3.6m-config
-rwxr-xr-x 2 root root 11336 Jun 20 19:55 python3.6m
-rwxr-xr-x 1 root root   173 Jun 20 19:54 python3.6m-config
-rwxr-xr-x 1 root root  3403 Jun 20 19:39 python3.6m-x86_64-config
lrwxrwxrwx 1 root root    16 Jul 18 17:29 python3-config -> python3.6-config
[root@iZbp1fnrewknornmqkhqpiZ bin]# 

python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了。
过程可参考:Centos7安装并配置Python3环境

相关文章:

通过netstat命令查看Linux的端口占用

一、netstat 完整写作network statistics,简写为netstat ,常用的几个参数为l、n、t、u、p。 -l : 仅展示监听状态下的程序(state 为LISTEN)。 -n :会使用ip端口的方式,来进行地址的描述。不使用-n就会变成服务器的名称…...

不用动脑小白也能制作出精美的电子杂志

随着互联网技术的发展和微信的普及程度,电子杂志制作已经受到越来越多人的关注,毕竟电子杂志的阅读便利性是纸质杂志无法比拟的。那如何制作一本精美的电子杂志呢? 这其实很easy,可以使用在线电子杂志制作平台FLBOOK &#xff0c…...

【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别

5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别 1. 超算2. 高性能计算3. 并行计算4. 分布式计算5. 网格计算6. 集群计算7. 云计算小结相关资料 1. 超算 超级计算机(Sup…...

6大场景,玩转ChatGPT!

文章目录 一、故事叙述提问举例 二、产品描述提问举例 三、报告撰写提问举例 四、邮件和信件撰写提问举例 五、新间稿和公告撰写提问举例 六、学术论文和专业文章撰写提问举例 本文是在GPT3.5版本下演示的 我们知道AI技术不仅能够自动生成文章和内容,还可以根据我们…...

工业废水再利用在哪些地方

工业废水再利用主要应用于以下几个方面: 工业生产:回收废水中含有的各种有价值的资源,如水、盐、油、悬浮物等,用于生产过程。预处理和深度处理:为满足工业生产过程对水质的要求,对废水进行预处理和深度处…...

Spring Cloud的ElasticSearch的进阶学习

目录 数据聚合 Bucket示例 Metric示例 RestAPI实现聚合 自动补全 使用拼音分词 自定义分词器 实现自动补全 RestAPI实现自动补全功能 数据同步 同步调用 异步通知 监听binlog 数据聚合 聚合可以实现对文档数据的统计、分析、运算。聚合常见的有三类: …...

WordPress恢复时候遇到的几个问题

1,一键安装 LAMP 最好是选择 CentOS 这种成熟的系统,最开始用 Alibaba Linux 报了好几个错,懒得折腾,最后重置镜像了。 https://lnmp.org/ wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz && tar z…...

设备码解释

一、名词解释 Device ID:设备ID。 IMEI:(International Mobile Equipment Identity)国际移动设备标识的缩写。是由15位数字组成的“电子串号”,它与每台手机一一对应,每个IMEI在世界上都是唯一的。 MEID…...

基于Docker-consul容器服务更新与发现

目录 一、什么是服务注册与发现: 二、Docker-consul介绍: 三、consul的关键特性: 四、consul部署: 1.部署规划: 2.consul服务器部署: 2.1 建立consul服务: 启动consul后默认会监听5个端口&a…...

firefox浏览器添加自定义搜索引擎方法

firefox浏览器添加自定义搜索引擎方法 1.在地址栏添加搜索引擎2.Mycroft Project 搜索引擎附加组件3.通过扩展插件添加自定义搜索引擎 Firefox这货居然不支持直接网址%s的搜索引擎定义方式,以下是添加方法。 firefox国际版119.0 1.在地址栏添加搜索引擎 &#xff…...

redis rdb aof

appendonly yes # appendfsync always appendfsync everysec # appendfsync no E:\Document_Redis_Windows\redis-2.4.5-win32-win64\64bit appendonly.aof...

浮动模块布局

基本思路 若宽度和浏览器一样宽,则不需要设置width 一般父盒子使用标准流,然后标准流内使用浮动 一般父盒子需要居中显示,使用 margin: 0 auto; 注意浮动盒子之间的margin值 与 父盒子width、height值之间的相等关系,一定要计算…...

信号、进程、线程、I/O介绍

文章目录 信号进程进程通信线程可/不可重入函数线程同步互斥锁条件变量自旋锁读写锁 I/O操作阻塞/非阻塞I/OI/O多路复用存储映射I/O 信号 信号是事件发生时对进程的通知机制,可以看做软件中断。信号与硬件中断的相似之处在于其能够打断程序当前执行的正常流程。大多…...

【css3】涟漪动画

效果展示 dom代码 <div class"mapSelfTitle66"><div></div> </div> 样式代码 .mapSelfTitle66{width:120px;height:60px;position: relative;&>div{width:100%;height:100%;background: url("~/assets/images/video_show/err…...

基础课17——智能客服系统

客户服务是一种以客户为中心的服务模式&#xff0c;旨在提高客户满意度和忠诚度&#xff0c;促进企业业务增长和可持续发展。在客户服务中&#xff0c;企业需要了解客户需求&#xff0c;提供优质、高效、个性化的服务&#xff0c;解决客户问题&#xff0c;满足客户需求&#xf…...

vue3 ts 导出PDF jsPDF

jsPDF 是一个基于 HTML5 的客户端解决方案&#xff0c;用于生成各种用途的 PDF 文档。 1、安装&#xff1a;npm install jspdf npm install --save html2canvas 2、引入&#xff1a;import jsPDF from "jspdf" import html2canvas from html2canvas 3、使用 <…...

Agent 应用于提示工程

如果Agent模仿了人类在现实世界中的操作方式&#xff0c;那么&#xff0c;能否应用于提示工程即Prompt Engingeering 呢&#xff1f; 从LLM到Prompt Engineering 大型语言模型(LLM)是一种基于Transformer的模型&#xff0c;已经在一个巨大的语料库或文本数据集上进行了训练&…...

云原生安全日志审计

记得添加&#xff0c;把配置文件挂载进去 - mountPath: /etc/kubernetes/auditname: audit-policyreadOnly: true.....- hostPath:path: /etc/kubernetes/audit/type: DirectoryOrCreatename: audit-policy/etc/kubernetes/manifests/kube-apiserver.yaml 具体配置文件如下 a…...

2023 辽宁省大学数学建模 B 题 数据驱动的水下导航适配区分类预测

“海洋强国”战略部署已成为推动中国现代化建设的重要组成部分&#xff0c;国家对 此提出“发展海洋经济&#xff0c;保护海洋生态环境&#xff0c;加快建设海洋强国”的明确要求。 《辽宁省“十四五”海洋经济发展规划》明确未来全省海洋经济的发展战略、 发展目标、重大任…...

ES 8.x新特性一览(完整版)

一、看点 在 2022 年 2 月 11 日&#xff0c;Elasticsearch&#xff08;ES&#xff09;正式发布了 8.0 版本&#xff0c;而截止到 2023 年 10 月&#xff0c;历经一年半时间&#xff0c;ES官方已经连续发布了多个版本&#xff0c;最新版本为 8.10.4。这一系列的更新引入了众多引…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

路由基础-路由表

本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中&#xff0c;往往存在多个不同的IP网段&#xff0c;数据在不同的IP网段之间交互是需要借助三层设备的&#xff0c;这些设备具备路由能力&#xff0c;能够实现数据的跨网段转发。 路由是数据通信网络中最基…...

如何做好一份技术文档?从规划到实践的完整指南

如何做好一份技术文档&#xff1f;从规划到实践的完整指南 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...

Java多线程实现之Runnable接口深度解析

Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...

RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上

一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema&#xff0c;不需要复杂的查询&#xff0c;只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 &#xff1a;在几秒钟…...

第22节 Node.js JXcore 打包

Node.js是一个开放源代码、跨平台的、用于服务器端和网络应用的运行环境。 JXcore是一个支持多线程的 Node.js 发行版本&#xff0c;基本不需要对你现有的代码做任何改动就可以直接线程安全地以多线程运行。 本文主要介绍JXcore的打包功能。 JXcore 安装 下载JXcore安装包&a…...