Linux - lsof显示 tcp,udp 的端口和进程

简介: lsof显示 tcp,udp 的端口和进程

@[toc]
在这里插入图片描述

功能

lsof(list open files)是一个列出当前系统打开文件的工具。 lsof 需要访问核心内存和各种文件,需要以 root 用户的身份运行。

语法

语法格式:lsof -i:端口号

示例

lsof -i 显示 tcp,udp 的端口和进程等相关

[root@VM-24-3-centos ~]# lsof -i |more
COMMAND     PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
java        398 root   15u  IPv6 151193676      0t0  TCP *:webcache (LISTEN)
java        398 root   27u  IPv6 160128834      0t0  TCP VM-24-3-centos:44226->43.250.33.235:https (CLOSE_WAIT)
java        398 root   28u  IPv6 160128874      0t0  TCP VM-24-3-centos:44234->43.250.33.235:https (CLOSE_WAIT)
java        398 root   29u  IPv6 160128943      0t0  TCP VM-24-3-centos:44248->43.250.33.235:https (CLOSE_WAIT)
java        398 root   30u  IPv6 160128959      0t0  TCP VM-24-3-centos:44254->43.250.33.235:https (ESTABLISHED)
java        398 root   31u  IPv6 160130075      0t0  TCP VM-24-3-centos:44280->43.250.33.235:https (ESTABLISHED)
java        398 root   32u  IPv6 160130186      0t0  TCP VM-24-3-centos:44296->43.250.33.235:https (ESTABLISHED)
java        398 root   33u  IPv6 160130475      0t0  TCP VM-24-3-centos:44318->43.250.33.235:https (ESTABLISHED)
java        398 root   34u  IPv6 160131452      0t0  TCP VM-24-3-centos:44356->43.250.33.235:https (ESTABLISHED)
java        398 root   45u  IPv6 160128687      0t0  TCP VM-24-3-centos:44204->43.250.33.235:https (CLOSE_WAIT)
java        555 root   19u  IPv6 159554061      0t0  TCP VM-24-3-centos:55346->43.250.33.235:https (CLOSE_WAIT)
java        555 root   21u  IPv6 159675287      0t0  TCP VM-24-3-centos:38397->43.250.33.235:https (CLOSE_WAIT)
java        555 root   22u  IPv6 160130806      0t0  TCP VM-24-3-centos:44334->43.250.33.235:https (ESTABLISHED)

查看服务器 80 端口的占用情况


[root@VM-24-3-centos ~]# lsof -i:80
COMMAND   PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
nginx   18454 root    7u  IPv4 111507996      0t0  TCP *:http (LISTEN)
nginx   25798  www    7u  IPv4 111507996      0t0  TCP *:http (LISTEN)
nginx   25799  www    7u  IPv4 111507996      0t0  TCP *:http (LISTEN)
[root@VM-24-3-centos ~]#
  • COMMAND:进程的名称
  • PID进程标识符
  • USER:进程所有者
  • FD:文件描述符,应用程序通过文件描述符识别该文件,如cwd、txt等
  • TYPE:文件类型,如DIR、REG等
  • DEVICE:指定磁盘的名称
  • SIZE:文件的大小
  • NODE:索引节点(文件在磁盘上的标识)
  • NAME:打开文件的确切名称

使用 -p 查看指定进程打开的文件


[root@VM-24-3-centos ~]# lsof -p 398
COMMAND PID USER   FD      TYPE             DEVICE  SIZE/OFF      NODE NAME
java    398 root  cwd       DIR              253,1      4096    793920 /root/xxx
java    398 root  rtd       DIR              253,1      4096         2 /
java    398 root  txt       REG              253,1      8984    794871 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/bin/java
java    398 root  mem       REG              253,1    109976     21146 /usr/lib64/libresolv-2.17.so
java    398 root  mem       REG              253,1     31344      3924 /usr/lib64/libnss_dns-2.17.so
java    398 root  mem       REG              253,1   4004256    794934 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre/lib/ext/cldrdata.jar

更多命令

  • lsof -i: 查看IPv4/6文件
  • lsof -i:8080:查看8080端口占用
  • lsof -i4: 查看IPv4文件
  • lsof -i6: 查看IPv6文件
  • lsof -i TCP:80 查看TCP协议80端口占用情况
  • lsof -c lsof 查看lsof命令使用的所有文件
  • lsof -p 1234:列出进程号为1234的进程所打开的文件
  • lsof -g gid:显示归属gid的进程情况
  • lsof +d /usr/local/:显示目录下被进程开启的文件
  • lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
  • lsof -d 4:显示使用fd为4的进程
  • lsof -i -U:显示所有打开的端口和UNIX domain文件

在这里插入图片描述

相关文章
|
11天前
|
网络协议 JavaScript 安全
深入浅出TCP 与 UDP
深入浅出TCP 与 UDP
28 0
|
3天前
|
网络协议 算法 网络性能优化
TCP和UDP有什么区别?
TCP(传输控制协议)和 UDP(用户数据报协议)是互联网协议族(TCP/IP)中的两种核心传输层协议,它们在数据传输的方式和特性上有显著的区别。
27 9
|
9天前
|
网络协议
tcp套接字和udp套接字可以共用一个端口吗?
tcp套接字和udp套接字可以共用一个端口吗?
9 1
|
14天前
|
缓存 网络协议 算法
TCP传输协议与UDP传输协议的特点与分析
网络协议如同人与人之间相互交流是需要遵循一定的规则(如语言)一样,计算机之间能够进行相互通信是因为它们都共同遵守一定的规则,即网络协议。 OSI参考模型和TCP/IP模型在不同的层次中有许多不同的网络协议,如图所示: 我们今天主要讨论的是传输层的协议,即考虑应用程序之间的逻辑通信。简单来说就是数据该如何发送给其他机器;
|
7天前
|
网络协议 Java API
TCP/IP协议以及UDP(超详细,看这一篇就够了)
TCP/IP协议以及UDP(超详细,看这一篇就够了)
12 0
|
1月前
|
安全 Windows
服务器中如何检查端口是否开放
服务器中如何检查端口是否开放
|
5天前
|
Java Android开发
Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。
【6月更文挑战第23天】 Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。客户端连接服务器,发送"Hello, Server!"后关闭。注意Android中需避免主线程进行网络操作。
31 4
|
11天前
|
弹性计算 监控 JavaScript
云服务器 ECS产品使用问题之Node.js项目部署成功后无法通过公网IP+端口号访问,是什么导致的
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
11天前
|
弹性计算 人工智能 供应链
云服务器 ECS产品使用问题之端口已加入安全组,但是端口不通,同时服务器已关闭防火墙,是什么导致的
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
21天前
|
安全 网络安全 数据安全/隐私保护
阿里云服务器不能发邮件禁用25端口的三种解决方法
阿里云服务器不能发邮件禁用25端口的三种解决方法

热门文章

最新文章