热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux下找出进程正在侦听的端口号

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

作为Linux用户,我们有时需要知道特定进程正在侦听哪个端口号。 所有端口都与OS中的进程ID或服务相关联。 那我们怎么找到那个港口? 本文介绍了三种不同的方法,供您查找进程正在侦听的端口号。

我们在Ubuntu 18.04 LTS/Ubuntu 18.10系统上运行了本文中描述的命令和过程。

方法1:使用netstat命令

Netstat或网络统计实用程序用于查看与网络连接相关的信息。 这包括有关接口统计信息,路由表等信息。 此实用程序在大多数Linux系统上都可用,因此我们可以使用它来查看有关某些进程在系统上使用哪些端口的信息。

要使用netstat命令,您需要安装net-tools实用程序(如果它尚未通过以下命令安装在您的系统上):

test@testidc:~/桌面/www.linuxidc.com$ sudo apt install net-tools

#Linux下找出进程正在侦听的端口号

然后运行以下命令:

test@testidc:~/桌面/www.linuxidc.com$ sudo netstat -ltnp
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address          Foreign Address        State      PID/Program name   
tcp        0      0 127.0.0.53:53          0.0.0.0:*              LISTEN      537/systemd-resolve
tcp        0      0 127.0.0.1:631          0.0.0.0:*              LISTEN      772/cupsd         
tcp6      0      0 :::21                  :::*                    LISTEN      732/vsftpd         
tcp6      0      0 ::1:631                :::*                    LISTEN      772/cupsd

#Linux下找出进程正在侦听的端口号

以上命令基于以下功能提供netstat信息:

l:只显示监听套接字
t:显示tcp连接
n:以数字形式显示地址
p:显示进程ID /程序名称

例如,在netstat命令的上述输出中,进程ID为 732的vsftpd程序在端口号21上运行。

您还可以通过将grep函数合并到命令中来过滤特定端口的统计信息。

例:

test@testidc:~/桌面/www.linuxidc.com$ sudo netstat -ltnp | grep -w ':21'
tcp6      0      0 :::21                  :::*                    LISTEN      732/vsftpd 

#Linux下找出进程正在侦听的端口号

方法2:使用lsof命令

lsof或打开文件列表实用程序有助于列出Linux系统上的所有打开文件。 我们可以使用此实用程序查看特定端口上打开的所有进程。

要使用lsof命令,如果已通过以下命令在系统上未安装lsof实用程序,则需要安装它:

test@testidc:~/桌面/www.linuxidc.com$ sudo apt install lsof

#Linux下找出进程正在侦听的端口号

让我们使用lsof来查看在特定端口上侦听的服务。

例:

test@testidc:~/桌面/www.linuxidc.com$ sudo lsof -i :21
COMMAND PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
vsftpd  732 root    3u  IPv6  27550      0t0  TCP *:ftp (LISTEN)

#Linux下找出进程正在侦听的端口号

此命令将列出使用TCP端口号21的所有进程。

方法3:使用fuser命令

fuser命令显示使用命名文件,套接字或文件系统的进程ID。 我们可以使用此命令查看在特定TCP端口上运行的进程ID。

要使用fuser命令,您需要安装psmisc实用程序(如果它已经未通过以下命令安装在您的系统上):

test@testidc:~/桌面/www.linuxidc.com$ sudo apt install psmisc

#Linux下找出进程正在侦听的端口号

您可以在此命令中指定任何端口号以查看其侦听进程。

使用fuser命令

test@testidc:~/桌面/www.linuxidc.com$ sudo fuser 21/tcp
21/tcp:                732

#Linux下找出进程正在侦听的端口号

在上面的输出中,您可以看到进程ID 732正在侦听TCP 21。

要查看此进程ID对应的程序,请运行以下命令:

语法:

$ ps -p [processID] -o comm=

我们运行以下命令测试:

test@testidc:~/桌面/www.linuxidc.com$ ps -p 732 -o comm=
vsftpd

#Linux下找出进程正在侦听的端口号

输出显示进程ID 732对应于程序名称vsftpd。 因此,程序vsftpd的进程ID 732正在侦听端口号21。

通过本文中学到的三种方法,您可以轻松查看Linux上特定进程正在侦听的TCP端口。


推荐阅读
  • 本文介绍了如何找到并终止在8080端口上运行的进程的方法,通过使用终端命令lsof -i :8080可以获取在该端口上运行的所有进程的输出,并使用kill命令终止指定进程的运行。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
author-avatar
mobiledu2502878243
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有