在使用计算机的过程中,有时会碰到端口被占用的情况,这时候需要查看端口占用情况进行问题排查。在linux系统中,端口占用的情况也时有发生,一般情况下可以使用lsof和netstat两个命令来查看端口占用情况。

下面我们就分别介绍Linux查看端口占用用到的lsof和netstat命令:

1、lsof命令

lsof(list open files)命令功能:列出当前系统打开文件。在linux系统中,一切皆文件,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。像TCP、UDP 套接字等,系统中都存在对应的文件描述符,该文件描述符为应用程序与操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof命令可以查看这个列表对系统进行监测。

查看某个端口的占用情况使用命令:

lsof -i:port,比如查看9090端口使用情况:lsof -i:9090。

# lsof -i:9090

COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME

Thriftc 32551 root    6u  IPv6 23200961      0t0  TCP *:websm (LISTEN)

lsof命令参数:

-a:列出打开文件存在的进程;

-c:列出指定进程所打开的文件;

-g:列出GID号进程详情;

-d:列出占用该文件号的进程;

+d:列出目录下被打开的文件;

+D:递归列出目录下被打开的文件;

-n:列出使用NFS的文件;

-i:列出符合条件的进程。(4、6、协议、:端口、 @ip )

-p:列出指定进程号所打开的文件;

-u:列出UID号进程详情;

-h:显示帮助信息;

-v:显示版本信息。

2、netstat命令

Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。因此可以使用netstat命令查看系统中端口占用情况。

查看指定端口号的进程情况使用命令:netstat -tunlp | grep port,比如查看9090端口的进程:netstat -tunlp | grep 9090。

# netstat -tunlp

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:34797               0.0.0.0:*                   LISTEN      1554/rpc.statd

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1497/rpcbind

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      31165/nginx

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1988/sshd

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      2102/master

tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      31165/nginx

tcp        0      0 :::9090                     :::*                        LISTEN      32551/./Thriftc

tcp        0      0 :::53705                    :::*                        LISTEN      1554/rpc.statd

tcp        0      0 :::111                      :::*                        LISTEN      1497/rpcbind

tcp        0      0 :::22                       :::*                        LISTEN      1988/sshd

tcp        0      0 ::1:25                      :::*                        LISTEN      2102/master

udp        0      0 0.0.0.0:111                 0.0.0.0:*                               1497/rpcbind

udp        0      0 127.0.0.1:882               0.0.0.0:*                               1554/rpc.statd

udp        0      0 192.168.0.16:123            0.0.0.0:*                               2013/ntpd

udp        0      0 127.0.0.1:123               0.0.0.0:*                               2013/ntpd

udp        0      0 0.0.0.0:123                 0.0.0.0:*                               2013/ntpd

udp        0      0 0.0.0.0:48037               0.0.0.0:*                               1554/rpc.statd

udp        0      0 0.0.0.0:824                 0.0.0.0:*                               1497/rpcbind

udp        0      0 0.0.0.0:68                  0.0.0.0:*                               1585/dhclient

udp        0      0 :::33758                    :::*                                    1554/rpc.statd

udp        0      0 :::111                      :::*                                    1497/rpcbind

udp        0      0 fe80::f816:3eff:fe49:fae:123 :::*                                    2013/ntpd

udp        0      0 ::1:123                     :::*                                    2013/ntpd

udp        0      0 :::123                      :::*                                    2013/ntpd

udp        0      0 :::824                      :::*                                    1497/rpcbind

# netstat -tunlp | grep 9090

tcp        0      0 :::9090                     :::*                        LISTEN      32551/./Thriftc

netstat命令参数:

-a (all)  显示所有连线中的Socket

-t (tcp)  仅显示tcp相关选项

-u (udp)   仅显示udp相关选项

-n      拒绝显示别名,能显示数字的全部转化成数字。

-l      仅列出有在 Listen (监听) 的服務状态

-p      显示建立相关链接的程序名

-r      显示路由信息,路由表

-e      显示扩展信息,例如uid等

-s      按各个协议进行统计

-c      每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

linux查看端口占用一直是使用操作系统的过程中容易遇见的问题,我们很难避免这样的情况发生,只有采取相应的措施,查看端口占用的情况然后加以解决。在本站的Linux教程中有对端口占用的解决方案,感兴趣的小伙伴可以前去观看学习,通过实践操作检验方案的可行性。

linux查看udp端口占用命令,详解Linux查看端口占用相关推荐

  1. linux下的arp刷新命令详解,linux arp 命令常用参数详解

    linux arp 命令常用参数详解 linux arp 命令常用参数详解 显示和修改地址解析协议(ARP)使用的"IP 到物理"地址转换表. ARP -s inet_addr e ...

  2. linux系统关于ping的命令,详解Linux系统中ping和arping命令的用法

    pingping 程序使用 ICMP 协议的强制回显请求数据报以使主机或网关发送一份 ICMP 的回显应答.回显请求数据报(" pings ")含有一个 IP 及 ICMP 的报头 ...

  3. linux 自带的make 命令,详解Linux下make命令的使用

    代码变成可执行文件,叫做编译(compile):先编译这个,还是先编译那个(即编译的安排),叫做构建(build). Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目.但是实际上 , ...

  4. linux查看和结束进程,Linux查看和结束进程命令详解

    在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill .killall.pkill.xkill 等进行. ----------------------------------- ...

  5. linux paste 变量,Linux下的paste合并命令详解

    paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功能刚好相反. 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同.paste将按行将不同文件行信息放在一 ...

  6. linux PS -df,linux中ps跟df命令详解

    linux中ps和df命令详解 linux下PS命令 linux上进程有5种状态: 1.运行(正在运行或在运行队列中等待) 2.中断(休眠中,受阻,在等待某个条件的形成或接受到信号) 3.不可中断(收 ...

  7. 网络安全nmap扫描端口命令详解linux网络探测

    简介: nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting).它是网络管理员必用的 ...

  8. linux中iptables配置文件及命令详解详解

    linux中iptables配置文件及命令详解详解 2018年05月04日 14:23:41 hxpjava1 阅读数 956 linux中iptables配置文件及命令详解详解 iptables配置 ...

  9. linux tf命令,Linux系统命令介绍之vmstat命令详解

    今天小编要跟大家介绍的vmstat命令详解.熟悉Linux系统和使用Linux系统工作的小伙伴都知道Linux的命令有很多,而真正在工作中用到的命令应该不超过几十个,为了让大家更好的掌握这些命令,小编 ...

  10. linux sort,uniq,cut,wc命令详解

    linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...

最新文章

  1. SqlServer2005高效分页sql查询语句汇总
  2. nosql非关系型数据库_从Datomic出发,革命性的非NoSQL数据库
  3. 设计模式之Observer(观察者)模式
  4. 【Flink】ExceptionInChainedOperatorException: Could not forward element to next operator Buffer
  5. day1 java基础回顾-多线程
  6. Leetcode每日一题:416.partition-equal-subset-sum(分割等和子集)
  7. python 如何看到图标_如何设置CEF窗口图标(在python中)
  8. CSS 字体单位大小对照换算表
  9. win7计算机上缺少网络协议,win7系统安装ipx协议提示找不到相应的模块的解决方法...
  10. python调用鼠标驱动_python+selenium 鼠标事件操作方法
  11. 五、信息安全术语中英文词条对照表
  12. Java校验手机号格式
  13. CSS学习(一)——制作新年贺卡
  14. 炼数成金Scala语言入门
  15. 七天引爆社交新零售(助你提高十倍业绩)——前言
  16. GAIN: Missing Data Imputation using Generative Adversarial Nets(基于生成对抗网络的缺失数据填补)论文详解
  17. 创建自己的人脸识别程序
  18. java.lang.ClassNotFoundException: Cannot find class:
  19. java中的package_JAVA中的PACKAGE机制——(好文转帖)
  20. html页面退出关闭定时器,关闭settimeout setTimeout函数问题

热门文章

  1. 非负矩阵分解小白入门
  2. c语言中数组int*,C语言数组
  3. 快鲸六大私域运营服务,赋能企业业绩长效增长
  4. 如何在CAD中实现影像与矢量叠加套合(四参数法)
  5. abb机器人编程指令写字_ABB机器人-编程基本指令之运动指令
  6. android 展开收起功能,Android非常简单的TextView展开和收起,在列表中TextView文章展开全部和收起...
  7. 操作系统实验一:父子进程通信
  8. sgx使用记录(Windows开发环境搭建以及sgx的简单介绍)1
  9. [RPA之家]UiPath程序设计文档
  10. Verilog HDL 出租车计费器实现