Linux-3种方法快速找出监听特定端口的进程

2023-11-17

Pre

端口是代表通信端点的逻辑实体,并与操作系统中的给定进程或服务相关联。在之前的文章中,我们解释了如何找出 Linux 中所有开放端口的列表,以及如何使用 Netcat 命令检查远程端口是否可达。

在这个简短的指南中,我们将展示在 Linux 中查找侦听特定端口的进程/服务的不同方法。

使用netstat命令

netstat(网络统计)命令用于显示有关网络连接、路由表、接口统计等的信息。它适用于所有类 Unix 操作系统,包括 Linux 以及 Windows 操作系统。

如果系统没有默认安装它,请使用以下命令进行安装。

$ sudo apt-get install net-tools    [On Debian/Ubuntu & Mint] 
$ sudo dnf install net-tools        [On CentOS/RHEL/Fedora and Rocky Linux/AlmaLinux]
$ pacman -S netstat-nat             [On Arch Linux]
$ emerge sys-apps/net-tools         [On Gentoo]
$ sudo dnf install net-tools        [On Fedora]
$ sudo zypper install net-tools     [On openSUSE]

安装后,可以将其与 grep 命令一起使用,以查找在 Linux 中侦听特定端口的进程或服务,如下所示(指定端口)。


$ netstat -ltnp | grep -w ':80' 

在这里插入图片描述
在上面的命令中,标志。

l – 告诉 netstat 只显示侦听套接字。
t – 告诉它显示 tcp 连接。
n – 指示它显示数字地址。
p – 启用进程 ID 和进程名称的显示。
grep -w – 显示精确字符串的匹配 (:80)。
注意:netstat 命令在某些 Linux发行版本中已被弃用并被现代的 ss 命令取代。

使用lsof命令

lsof 命令(List Open Files)用于列出 Linux 系统上所有打开的文件。

要在linux系统上安装它,请键入以下命令。

$ sudo apt-get install lsof     [On Debian, Ubuntu and Mint]
$ sudo yum install lsof         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/lsof  [On Gentoo Linux]
$ sudo pacman -S lsof           [On Arch Linux]
$ sudo zypper install lsof      [On OpenSUSE]    

要查找侦听特定端口的进程/服务,请键入(指定端口)。

$ sudo lsof -i :80
COMMAND     PID     USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
apache2 2109359     root    4u  IPv6 21371208      0t0  TCP *:http (LISTEN)
apache2 3445098 www-data    4u  IPv6 21371208      0t0  TCP *:http (LISTEN)
apache2 3445099 www-data    4u  IPv6 21371208      0t0  TCP *:http (LISTEN)
apache2 3445100 www-data    4u  IPv6 21371208      0t0  TCP *:http (LISTEN)
apache2 3445101 www-data    4u  IPv6 21371208      0t0  TCP *:http (LISTEN)
apache2 3445102 www-data    4u  IPv6 21371208      0t0  TCP *:http (LISTEN)

使用fuser命令

这个命令稍微冷门写,一般人都没用过。
fuser 命令显示在 Linux 中使用指定文件或文件系统的进程的 PID。

可以按如下方式安装它:

$ sudo apt-get install psmisc     [On Debian, Ubuntu and Mint]
$ sudo yum install psmisc         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/psmisc  [On Gentoo Linux]
$ sudo pacman -S psmisc           [On Arch Linux]
$ sudo zypper install psmisc      [On OpenSUSE]    

你可以通过运行以下命令(指定端口)找到在特定端口上侦听的进程/服务。

$ sudo fuser 80/tcp
80/tcp:              2109359 3445098 3445099 3445100 3445101 3445102

$ sudo fuser 8000/tcp
8000/tcp:            2113624 2113631

然后像这样使用 ps 命令使用 PID 号查找进程名称。

$ ps -p 2109359 -o comm=
apache2

我所知道的常用办法就是这样了,有同行是否知道在 Linux 中查找侦听特定端口的进程/服务的任何其他方法,欢迎通过下面的评论区告诉我们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux-3种方法快速找出监听特定端口的进程 的相关文章

  • Ubuntu 上的 Vim:文本渲染错误,奇怪地重复和消失

    不久前我在 ubuntu 12 04 上安装了 vim 有时 当我在代码上运行光标 使用键盘 而不是鼠标 时 文本会消失 就好像渲染字符时出现问题一样 当我再次运行光标时 它通常会重新出现 这似乎是随机发生的 但通常足以让人恼火 为了更清楚
  • jq中如何分组?

    这是 json 文档 name bucket1 clusterName cluster1 name bucket2 clusterName cluster1 name bucket3 clusterName cluster2 name bu
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 在初始化脚本中切换用户?

    这是我的 Ubuntu 工作站上的初始化脚本 我需要以除 root 之外的其他用户身份运行命令 但我就是不知道应该如何完成它 两者都不sudo u or su newuser似乎有效 剧本 respawn console none star
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • CoAP数据包的大小是多少?

    我是这项技术的新手 有人可以帮助我了解一些疑问吗 Q 1 CoAP数据包的大小是多少 我知道有 4 字节固定标头 但是包括标头 选项和负载在内的最大大小限制是多少 Q 2 有像MQTT那样的Keep Alive的概念吗 它在UDP上工作 它
  • 当 grep "\\" XXFile 我得到“尾随反斜杠”

    现在我想查找是否有包含 字符的行 我试过grep XXFile但它暗示 尾随反斜杠 但当我尝试时grep XXFile没关系 谁能解释一下为什么第一个案例无法运行 谢谢 区别在于 shell 处理反斜杠的方式 当你写的时候 在双引号中 sh
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • waitpid() 的作用是什么?

    有什么用waitpid 它通常用于等待特定进程完成 或者如果您使用特殊标志则更改状态 基于其进程 ID 也称为pid 它还可用于等待一组子进程中的任何一个 无论是来自特定进程组的子进程还是当前进程的任何子进程 See here http l
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • 如何查看 Ubuntu 上的 Binutils 版本?

    我已经搜索过 但没有找到一个选项来告诉我我的 Ubuntu 上有哪个版本的 binutils 或者至少我不知道如何解释它 gcc v 没有透露任何有关 binutils 的信息 ld v 告诉我GNU ld GNU Binutils for
  • 如何查询X11显示分辨率?

    这似乎是一个简单的问题 但我找不到答案 如何查询 通过 X11 存在哪些监视器及其分辨率 查看显示宏 http tronche com gui x xlib display display macros html and 屏幕宏 http
  • 监控子进程的内存使用情况

    我有一个 Linux 守护进程 它分叉几个子进程并监视它们是否崩溃 根据需要重新启动 如果父进程可以监视子进程的内存使用情况 以检测内存泄漏并在超出一定大小时重新启动子进程 那就太好了 我怎样才能做到这一点 您应该能够从 proc PID
  • PyQt5 - 无法使用 QVideoWidget 播放视频

    from PyQt5 QtWidgets import from PyQt5 QtMultimedia import from PyQt5 QtMultimediaWidgets import from PyQt5 QtCore impor
  • 当用户按下打印时运行脚本,并且在脚本结束之前不开始假脱机(linux,cups)

    我需要做的是结合用户按下打印来执行 python 程序 脚本 并且在该程序退出之前不要让打印作业假脱机 原因是打印驱动程序不是开源的 我需要更改用户设置 在本例中是部门 ID 和密码 通常是每个用户 但因为这是一个信息亭 具有相同帐户的不同
  • Awk - 计算两个文件之间的每个唯一值和匹配值

    我有两个文件 首先 我尝试获取第 4 列中每个唯一字段的计数 然后匹配第二个文件的第二列中的唯一字段值 File1 第 4 列的每个唯一值和 File2 第 2 列包含我需要在两个文件之间匹配的值 所以本质上 我试图 gt 如果 file2
  • 让 TeXstudio 在 linux mint 中工作:找不到文件“url.sty”。

    刚刚切换到 Linux Mint 以前的顽固 Windows 用户 我在尝试安装 TeXstudio 时遇到一些问题 Sudo apt get install texstudio 给了我一个正确的安装 至少 我是这么认为的 但是当我尝试构建
  • Fedora dnf 更新不起作用?

    当我尝试使用 update 命令更新 Fedora 22 时 sudo dnf update 我收到以下错误 错误 无法同步存储库 更新 的缓存 无法准备内部镜像列表 Curl 错误 6 无法解析主机名 无法解析主机 mirrors fed

随机推荐

  • 数据库分组排序和优化策略

    数据库分组排序和优化策略 1 分组排序 查询每个部门的最高平均工资 select deptno avg sal from emp group by deptno order by avg sal limit 0 1 查询到平均工资大于200
  • Burpsuite xssvalidator测试工具使用方法

    一 安装方法 Extend搜索xss可以找到该工具 选择后点安装就行 下载phantomjs 2 1 1 windows 然后cmd终端里执行 phantomjs exe xss js 开启后是这样的 二 使用测试 打开一个有xss的网页测
  • iPhone手机UDID获取方法

    UDID iOS设备的唯一识别码 每台iOS设备都有一个独一无二的编码 这个编码 就称为识别码 也叫做UDID Unique Device Identifier 一 通过Xcode查看 手机连接电脑 打开Xcode 选择window gt
  • 理解文本编码,ASCII、Unicode、UTF8、字节序和乱码-word打开是乱码

    原文网址提示有风险 基础知识 在计算机的内部 信息都是以二进制的方式存储的 二进制的一位 bit 可以表示0和1 位也叫做比特 位作为单位太小 为了便于使用 通常使用字节 byte 来表示二进制 一个字节有8位 可以表示256种 2的8次方
  • Docker+Jenkins+Golang 持续集成交付实战

    最近因公司发展需要 增加了一些go语言开发 对项目要求使用jenkins go docker自动部署上线 一 安装jenkins 1 安装Jenkins 详情见centos使用docker搭建jenkins jenkins使用方法见jenk
  • 使用face_recognition(一)人脸识别

    关于使用face recognition 安装方面还是有些坑的 之前用的是python3 5 pip安装出错 需要dlib什么的 按照网上的教程弄 还是有问题 搞了一天搞不定 后来看到说用python3 6比较简单 就换了个版本 结果pip
  • Ubuntu 14.04升级openssh7.7p1

    安装流媒体kurento 指定操作系统是Ubuntu 14 04 用户最近安全漏洞扫描 Ubuntu主机的ssh版本太低 OpenSSH 6 6 1p1 需要需要对该主机的SSH版本进行升级 准备升级的安全包 本次升级我准备了三个文件 op
  • 【学术探讨】万能密码原理剖析

    作者主页 士别三日wyx 作者简介 CSDN top100 阿里云博客专家 华为云享专家 网络安全领域优质创作者 推荐专栏 对网络安全感兴趣的小伙伴可以关注专栏 网络安全入门到精通 万能密码 顾名思义 就是可以 登录任意网站 的账号和密码
  • ORA-28040: 没有匹配的验证协议 问题解决

    出现这类问题 是因为 jar包不匹配造成 更换ojdbc jar包可以解决 下载ojdbc7 jar 用以前的jar包会出问题 以前的jar包会出现ora 28040 没有匹配的验证协议 项目使用的 ojdbc14报错 更换oidbc6解决
  • linux环境文件或者文件夹打包

    1 linux zip压缩 压缩当前文件夹下所有文件 压缩为a zip 命令行的方法是怎样 常用格式 zip r fileName zip 文件夹名 1 把 home目录下面的data目录压缩为data zip zip r data zip
  • java for循环删除元素_JAVA中循环删除list中元素的方法总结

    JAVA中循环遍历list有三种方式for循环 增强for循环 也就是常说的foreach循环 iterator遍历 1 for循环遍历list for int i 0 i if list get i equals del list rem
  • 第十二届蓝桥杯 ——左孩子右兄弟

    问题描述 对于一棵多叉树 我们可以通过 左孩子右兄弟 表示法 将其转化成一棵二叉树 如果我们认为每个结点的子结点是无序的 那么得到的二叉树可能不唯一 换句话说 每个结点可以选任意子结点作为左孩子 并按任意顺序连接右兄弟 给定一棵包含 N N
  • 腾讯广告算法大赛冠军、Kaggle Grandmaster倾力打造,涵盖Kaggle、阿里天池等赛题...

    随着互联网时代的到来 以及计算机硬件性能的提升 人工智能在近几年可以说是得到了爆发式的增长 互联网时代带来了大量的信息 这些信息是名副其实的大数据 另外 性能极佳的硬件也使得计算机的计算能力大大增强 这二者结合到一起 人工智能的蓬勃兴盛就变
  • MySQL数据库连接

    1 连接数据库 Class forName com mysql cj jdbc Driver 加载驱动 Connection conn DriverManager getConnection jdbc mysql localhost 330
  • 易云维®医院后勤管理系统软件利用物联网智能网关帮助实现医院设备实现智能化、信息化管理

    近年来 我国医院逐渐意识到医院设备信息化管理的重要性 逐步建立医院后勤管理系统软件 以提高信息化管理水平 该系统是利用数据库技术 为医院的中央空调 洁净空调 电梯 锅炉 医疗设备等建立电子档案 把设备监控 管控 维保 设置等主要管理操作都通
  • UHF超高频RFID应用RFID珠宝盘点管理

    关于UHF超高频RFID技术对RFID珠宝盘点管理的好处 在商场上逛 我们总会看到关于珠宝柜台展示的时候 无论多小的物品都会有一个个条码标签挂着 如果店员想对这些珠宝盘点 传统的做法是一个一个扫 如果实施RFID物联网技术 珠宝贴上RFID
  • qemu调试linux内核

    有了qemu后我们可以使用一台电脑就能模拟出多种cpu架构的单板 不需要去进行重复复杂的编译烧写调试工作了 提高开发的效率 一 主机环境 vmware或者hyper v安装ubuntu20 04 二 gdb安装 这里我们直接用gdb mul
  • vsftpd服务器上传文件,当我将文件上传到 Vsftpd 服务器时,文件被锁定

    我正在使用 FTP 的 spring 集成将文件上传到 FTP 服务器 Bean ServiceActivator inputChannel toFtpChannel public FtpMessageHandler handler Ftp
  • [ACM] 1016 Prime Ring Problem (深度优先搜索)

    Prime Ring Problem Problem Description A ring is compose of n circles as shown in diagram Put natural number 1 2 n into
  • Linux-3种方法快速找出监听特定端口的进程

    Pre 端口是代表通信端点的逻辑实体 并与操作系统中的给定进程或服务相关联 在之前的文章中 我们解释了如何找出 Linux 中所有开放端口的列表 以及如何使用 Netcat 命令检查远程端口是否可达 在这个简短的指南中 我们将展示在 Lin