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

Linux系统之查看进程监听端口方法

Linux系统之查看进程监听端口方法

  • 一、端口监听介绍
  • 二、使用netstat命令
    • 1.netstat命令介绍
    • 2.netstat帮助
    • 3.安装netstat工具
    • 4.列出所有监听 tcp 端口
    • 5.显示TCP端口的统计信息
    • 6.查看某个服务监听端口
  • 三、使用ss命令
    • 1.ss命令介绍
    • 2.ss命令帮助
    • 3.查看某个服务监听端口
  • 四、使用lsof命令
    • 1.lsof命令介绍
    • 2.lsof命令帮助
    • 3.安装lsof工具
    • 4.查看端口号下所有进程
  • 五、使用fuser命令
    • 1.fuser命令介绍
    • 2.fuser命令帮助
    • 3.安装fuser工具
    • 4.查看某个服务详细信息
    • 5.查询端口及对应进程

一、端口监听介绍

在Linux系统中,,每个服务启动的时候都会通过一个端口来进行监听,所有端口都与OS中的进程ID或服务相关联。在日常的Linux系统运维中,我们有时需要某些特定服务的进程正在侦听哪个端口号。

二、使用netstat命令

1.netstat命令介绍

netstat命令 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

2.netstat帮助

-a或--all:显示所有连线中的Socket;
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示FIB;
-g或--groups:显示多重广播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显示网络界面信息表单;
-l或--listening:显示监控中的服务器的Socket;
-M或--masquerade:显示伪装的网络连线;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
-o或--timers:显示计时器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-r或--route:显示Routing Table;
-s或--statistice:显示网络工作信息统计表;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。

3.安装netstat工具

在最小化安装中,默认是没有安装netstat工具,需要手动进行安装。

yum -y install net-tools

4.列出所有监听 tcp 端口

只列出所有监听 tcp 端口

[root@master ~]# netstat -lt  
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:igrs          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:mysql           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:38443         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:webcache        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp        0      0 localhost:38457         0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:pcsync-https    0.0.0.0:*               LISTEN     
tcp        0      0 localhost:5533          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:zabbix-trapper  0.0.0.0:*               LISTEN     
tcp6       0      0 localhost:igrs          [::]:*                  LISTEN     
tcp6       0      0 [::]:mysql              [::]:*                  LISTEN     
tcp6       0      0 localhost:38443         [::]:*                  LISTEN     
tcp6       0      0 [::]:webcache           [::]:*                  LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN     
tcp6       0      0 localhost:38457         [::]:*                  LISTEN     
tcp6       0      0 [::]:pcsync-https       [::]:*                  LISTEN     
tcp6       0      0 [::]:zabbix-trapper     [::]:*                  LISTEN   

5.显示TCP端口的统计信息

[root@master ~]# netstat -st
IcmpMsg:InType3: 15InType8: 4OutType0: 4OutType3: 139486
Tcp:4028 active connections openings17 passive connection openings4 failed connection attempts1392 connection resets received3 connections established609725 segments received615954 segments send out5878 segments retransmited810 bad segments received.11476 resets sent
UdpLite:
TcpExt:20 invalid SYN cookies received1227 packets pruned from receive queue because of socket buffer overrun602 TCP sockets finished time wait in fast timer693 delayed acks sentQuick ack mode was activated 369 times17 packets directly queued to recvmsg prequeue.154418 packet headers predicted16974 acknowledgments not containing data payload received48604 predicted acknowledgments19 times recovered from packet loss by selective acknowledgements1 bad SACK blocks receivedDetected reordering 1 times using FACK2 congestion windows fully recovered without slow start224 congestion windows recovered without slow start after partial ack7 timeouts after SACK recovery4 timeouts in loss state19 fast retransmits1 forward retransmits1544 other TCP timeoutsTCPLossProbes: 692TCPLossProbeRecovery: 692 SACK retransmits failed4074 packets collapsed in receive queue due to low socket buffer357 DSACKs sent for old packets110 DSACKs sent for out of order packets290 DSACKs received484 connections reset due to unexpected data41 connections reset due to early user close449 connections aborted due to timeoutTCPDSACKIgnoredNoUndo: 143TCPSpuriousRTOs: 5TCPSackShiftFallback: 179IPReversePathFilter: 8TCPRcvCoalesce: 327751TCPOFOQueue: 340347TCPOFOMerge: 108TCPChallengeACK: 1691TCPSYNChallenge: 1689TCPFromZeroWindowAdv: 1TCPToZeroWindowAdv: 1TCPWantZeroWindowAdv: 3483TCPSynRetrans: 1804TCPOrigDataSent: 137805TCPHystartTrainDetect: 8TCPHystartTrainCwnd: 166
IpExt:InNoRoutes: 29InMcastPkts: 37586InBcastPkts: 143772InOctets: 1235902418OutOctets: 634853490InMcastOctets: 1353160InBcastOctets: 23982240InNoECTPkts: 2468463

6.查看某个服务监听端口

日常使用最多的是这个命令,加上-tunlp选项。

[root@master ~]# netstat -tunlp |grep 100
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      6172/docker-proxy   
tcp6       0      0 :::10051                :::*                    LISTEN      6179/docker-proxy   

三、使用ss命令

1.ss命令介绍

ss命令 用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。

2.ss命令帮助

-h, --help      帮助信息
-V, --version   程序版本信息
-n, --numeric   不解析服务名称
-r, --resolve   解析主机名
-a, --all       显示所有套接字(sockets)
-l, --listening 显示监听状态的套接字(sockets)
-o, --options   显示计时器信息
-e, --extended  显示详细的套接字(sockets)信息
-m, --memory    显示套接字(socket)的内存使用情况
-p, --processes 显示使用套接字(socket)的进程
-i, --info      显示 TCP内部信息
-s, --summary   显示套接字(socket)使用概况
-4, --ipv4      仅显示IPv4的套接字(sockets)
-6, --ipv6      仅显示IPv6的套接字(sockets)
-0, --packet    显示 PACKET 套接字(socket)
-t, --tcp       仅显示 TCP套接字(sockets)
-u, --udp       仅显示 UCP套接字(sockets)
-d, --dccp      仅显示 DCCP套接字(sockets)
-w, --raw       仅显示 RAW套接字(sockets)
-x, --unix      仅显示 Unix套接字(sockets)
-f, --family=FAMILY  显示 FAMILY类型的套接字(sockets),FAMILY可选,支持  unix, inet, inet6, link, netlink
-A, --query=QUERY, --socket=QUERYQUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D, --diag=FILE     将原始TCP套接字(sockets)信息转储到文件-F, --filter=FILE  从文件中都去过滤器信息FILTER := [ state TCP-STATE ] [ EXPRESSION ]

3.查看某个服务监听端口

根netstat用法一样,但是显示的信息更为详细。

[root@master ~]# ss -tunlp |grep 100
tcp    LISTEN     0      100    127.0.0.1:25                    *:*                   users:(("master",pid=3648,fd=13))
tcp    LISTEN     0      128       *:10051                 *:*                   users:(("docker-proxy",pid=6172,fd=4))
tcp    LISTEN     0      100     ::1:25                   :::*                   users:(("master",pid=3648,fd=14))
tcp    LISTEN     0      128      :::10051                :::*                   users:(("docker-proxy",pid=6179,fd=4))

四、使用lsof命令

1.lsof命令介绍

lsof命令 用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP)。需要root用户权限执行。

2.lsof命令帮助

-a:列出打开文件存在的进程;
-c<进程名>:列出指定进程所打开的文件;
-g:列出GID号进程详情;
-d<文件号>:列出占用该文件号的进程;
+d<目录>:列出目录下被打开的文件;
+D<目录>:递归列出目录下被打开的文件;
-n<目录>:列出使用NFS的文件;
-i<条件>:列出符合条件的进程(协议、:端口、 @ip )
-p<进程号>:列出指定进程号所打开的文件;
-u:列出UID号进程详情;
-h:显示帮助信息;
-v:显示版本信息

3.安装lsof工具

默认在centos7.6最小化安装中没有此工具,需要手动安装lsof工具。

yum -y install lsof

4.查看端口号下所有进程

[root@master ~]# lsof -i :10051
COMMAND    PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
docker-pr 6172 root    4u  IPv4 1470713      0t0  TCP *:zabbix-trapper (LISTEN)
docker-pr 6179 root    4u  IPv6 1468048      0t0  TCP *:zabbix-trapper (LISTEN)

五、使用fuser命令

1.fuser命令介绍

fuser命令 用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号,那些本地进程使用file,参数指定的本地或远程文件。

2.fuser命令帮助

-a:显示命令行中指定的所有文件;
-k:杀死访问指定文件的所有进程;
-i:杀死进程前需要用户进行确认;
-l:列出所有已知信号名;
-m:指定一个被加载的文件系统或一个被加载的块设备;
-n:选择不同的名称空间;
-u:在每个进程后显示所属的用户名。

3.安装fuser工具

默认在centos7.6最小化安装中没有此工具,需要手动安装fuser工具。

 yum -y install psmisc

4.查看某个服务详细信息

  • 先检查某个端口对应进程的PID
[root@master ~]# fuser 10051/tcp
10051/tcp:            6172  6179
  • 使用ps查询对应进程详细信息
[root@master ~]# ps -ef |grep 6172
root      6172  6908  0 Feb25 ?        00:00:00 /usr/local/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 10051 -container-ip 172.66.10.12 -container-port 10051
root     24000 18100  0 15:48 pts/0    00:00:00 grep --color=auto 6172
[root@master ~]# ps -ef |grep 6179
root      6179  6908  0 Feb25 ?        00:00:00 /usr/local/bin/docker-proxy -proto tcp -host-ip :: -host-port 10051 -container-ip 172.66.10.12 -container-port 10051
root     24002 18100  0 15:48 pts/0    00:00:00 grep --color=auto 6179

5.查询端口及对应进程

[root@master ~]#  fuser -v -n tcp 10051USER        PID ACCESS COMMAND
10051/tcp:           root       6172 F.... docker-proxyroot       6179 F.... docker-proxy

相关文章:

Linux系统之查看进程监听端口方法

Linux系统之查看进程监听端口方法一、端口监听介绍二、使用netstat命令1.netstat命令介绍2.netstat帮助3.安装netstat工具4.列出所有监听 tcp 端口5.显示TCP端口的统计信息6.查看某个服务监听端口三、使用ss命令1.ss命令介绍2.ss命令帮助3.查看某个服务监听端口四、使用lsof命令…...

使用命令别名一键启动arthas

1. 使用命令别名启动arthas 确保单板上有jdk和arthas jdk目录&#xff1a;/home/xinliushijian/arthas/jdk arthas目录&#xff1b;/home/xinliushijian/arthas su xinliushijian编写脚本messi.sh cd /home/xinliushijian/arthas vi messi.sh 内容如下&#xff1a; #!/bin/ba…...

python+pytest接口自动化(2)-HTTP协议基础

HTTP协议简介HTTP 即 HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09;&#xff0c;是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。HTTP 协议在 OSI 模型中属…...

操作系统权限提升(十五)之绕过UAC提权-基于白名单DLL劫持绕过UAC提权

系列文章 操作系统权限提升(十二)之绕过UAC提权-Windows UAC概述 操作系统权限提升(十三)之绕过UAC提权-MSF和CS绕过UAC提权 操作系统权限提升(十四)之绕过UAC提权-基于白名单AutoElevate绕过UAC提权 注&#xff1a;阅读本编文章前&#xff0c;请先阅读系列文章&#xff0c;以…...

非常好看的html网页个人简历

一. 前言 文末获取gitee链接 在前几天逛b站的时候&#xff0c;发现了个比较实用的东西-----个人简介网页版&#xff0c;相当于网页版的个人简历&#xff0c;相较于PDF形式的&#xff0c;网页版所能呈现内容更加丰富&#xff0c;而且更加美观&#xff0c;在BOOS上被HR小姐姐要…...

轻量级网络模型ShuffleNet V2

在学习ShuffleNet V2内容前需要简单了解卷积神经网络和MobileNet,以及Shuffnet V1的相关内容&#xff0c;大家可以出门左转&#xff0c;去看我之前的几篇博客MobileNet发展脉络&#xff08;V1-V2-V3&#xff09;&#xff0c;轻量级网络模型ShuffleNet V1&#x1f197;&#xff…...

分享美容美发会员管理系统功能的特点_美容美发会员管理系统怎么做

人们越来越关心美发&#xff0c;美发行业发展迅速&#xff0c;小程序可以连接在线场景&#xff0c;许多美发院也开发了会员卡管理系统。那么一个实用的美发会员管理系统怎么制作呢&#xff1f;它有什么功能&#xff1f;我们一起来看看~&#xff08;干货满满&#xff0c;耐心看完…...

Oracle-05-DCL篇

🏆一、简介 Oracle的DCL代表数据库控制语言,用于管理数据库对象的访问和安全性。DCL的两个主要命令是GRANT和REVOKE。 GRANT命令用于授予用户或角色对数据库对象的访问权限,例如表、视图或存储过程。GRANT命令的语法如下: GRANT privilege_name [, privilege_name]... …...

tess4j简单使用入门

tess4j下载 下载地址: https://sourceforge.net/projects/tess4j/ 不要直接下载,点击files,然后下载最新版 下载解压后放到指定的目录即可,这里放到d:\jar目录下 tess4j根目录: d:\jar\tess4j tess4j使用 把test4j项目目录中dist和lib目录下的所有jar包导入到需要的项目中…...

WebGPU学习(4)---使用 UniformBuffer

接下来让我们使用 UniformBuffer。UniformBuffer 是一个只读内存区域&#xff0c;可以在着色器上访问。 这次&#xff0c;我们将传递给着色器的矩阵存储在 UniformBuffer 中。演示示例 1.在顶点着色器中的 UniformBuffer 这次我们在顶点着色器里定义一个名为Uniforms的新结构体…...

Http客户端Feign-远程调用

Feign的使用步骤 引入依赖添加EnableFeignClients注解编写FeignClient接口使用FeignClient中定义的方法代替RestTemplate Feign的日志配置 1.方式一是配置文件&#xff0c;feign.client.config.xxx.loggerLevel 如果xxx是default则代表全局如果xxx是服务名称,例如userservi…...

RK3568镜像的拆包和打包

文章目录 前言一、window上分包和打包分包打包二、Linux上分包和打包分包打包总结前言 本文记录在win10上利用瑞芯微提供的工具进行分包和打包,同样也有Linux教程 提示:以下是本篇文章正文内容,下面案例可供参考 一、window上分包和打包 分包 window下一般直接利用工具即…...

《设计模式》适配器模式

《设计模式》适配器模式 适配器&#xff08;Adapter&#xff09;是一种结构型设计模式&#xff0c;它允许我们将一个类的接口转换成另一个类的接口&#xff0c;从而使得原本由于接口不兼容而无法合作的类能够一起工作。适配器模式通常用于以下情况&#xff1a; 在已有的类中添…...

linux 随笔 5-服务管理

0. 装到虚拟机与物理机&#xff0c;感觉各有各的不方便 Linux下systemctl命令和service、chkconfig命令的区别 1. service 根据/etc/init.d目录下的配置&#xff0c;做服务相关的&#xff1a; 启动停止重新启动关闭系统服务 2. chkconfig 用于维护 /etc/rc[0-6].d 的命令…...

【java基础】枚举类(enum)

文章目录基本介绍快速使用字段、方法、构造器枚举类方法toString方法valueOf方法values方法ordinal方法基本介绍 在java中有一种特殊的类型就是枚举类&#xff0c;对于一个有限的有固定值的集合&#xff0c;我们就可以考虑使用枚举类来进行表示&#xff0c;例如服装的大小为 小…...

Linux2

&#xff08;1&#xff09;root用户的主目录&#xff1a; &#xff08;3&#xff09;查看 &#xff08;4&#xff09;远程登陆系统&#xff1a;CentOS7上使用ifconfig查看IP&#xff0c;使用putty远程登陆 &#xff08;5&#xff09;查询目前用户登录情况&#xff1a;who命令…...

C语言基础应用(二)数据的转换与输入输出

学习了C语言的基本数据类型后&#xff0c;我们可能会想这些数据如何进行运算&#xff0c;是否可以让不同类型的数据直接进行运算呢&#xff1f; 一、数据类型转换 1.1 int类型与float类型之间的转换 int i 5; // j值为2.000000 因为左右操作数均为整型float j i/2; // …...

C# 用NPOI读取EXCEL

1. 复制DLL文件 ICSharpCode.SharpZipLib.dll NPOI.dll NPOI.OOXML.dll NPOI.OpenXml4Net.dll NPOI.OpenXmlFormats.dll 2. 在工程中添加引用 3. using System.IO; using NPOI.HSSF.UserModel; using NPOI.XSSF.UserModel; using NPOI.SS.UserModel; using NPOI.OpenXml4Ne…...

《高性能MySQL》——MySQL基准测试(笔记)

文章目录二、MySQL基准测试2.1 为什么需要基准测试2.2 基准测试的策略2.2.1 测试何种指标2.3 基准测试方法2.3.1设计和规划基准测试2.3.2 基准测试应该运行多长时间2.3.3 获取系统性能和状态2.3.4 获得准确的测试结果2.3.5 运行基准测试并分析结果2.3.6 绘图的重要性2.4 基准测…...

微服务注册到Nacos后如何读取外网IP

背景 微服务部署后&#xff0c;各服务是需要相互间调用的&#xff0c;其中服务A在去调用服务B的时候发现无法调用成功。其中服务注册和发现中心以及配置中心使用的是Nacos。Nacos客户端在注册服务时会从机器网卡中选择其中一个IP来注册&#xff0c;当我们要部署的机器存在多个…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...