为什么90%的人工作效率低下?

在Linux系统中,查看端口与进程的关联是系统管理、网络调试和安全审计的常见需求,以下是几种权威可靠的方法,均基于Linux原生工具,操作前请确保拥有sudo权限或root用户身份:


使用 ss 命令(推荐)

ss(Socket Statistics)是netstat的现代替代工具,执行效率更高。
查看所有监听端口及进程

sudo ss -tulnp
  • 参数解析
    -t:TCP端口
    -u:UDP端口
    -l:仅显示监听状态(LISTEN)
    -n:以数字形式显示端口(不解析服务名)
    -p:显示关联进程(PID和程序名)
    输出示例

    LISTEN 0  128  0.0.0.0:22  0.0.0.0:*  users:(("sshd",pid=1234,fd=3))

    关键字段:pid=1234为进程ID,"sshd"为进程名。

搜索特定端口(如80)

sudo ss -tulnp | grep ':80'

使用 lsof 命令

lsof(List Open Files)可查看进程打开的文件、目录及网络连接。
查看所有网络连接及进程

sudo lsof -i -P -n
  • 参数解析
    -i:显示网络连接
    -P:禁用端口服务名解析(显示数字端口)
    -n:禁用主机名解析(显示IP地址)
    输出示例

    sshd  1234  root  3u  IPv4  12345  0t0  TCP *:22 (LISTEN)

    关键字段:sshd(进程名)、1234(PID)、:22(端口)。

精确搜索端口(如3306)

sudo lsof -i :3306

使用 netstat 命令(传统工具)

部分旧系统可能未预装ss,可用netstat替代:

sudo netstat -tulnp

参数与ss类似,但执行速度较慢。


通过进程ID反查端口

若已知进程ID(如1234),可反向查找其占用端口:

sudo lsof -p 1234 | grep -i "listen"sudo ss -np | grep 1234

使用 fuser 命令

直接通过端口号定位进程:

sudo fuser 80/tcp

输出示例:

80/tcp:  1234  5678

显示占用TCP 80端口的进程ID(1234和5678)。


结合 ps 命令获取进程详情

获得PID后,用ps查看进程详细信息:

ps aux | grep 1234

输出示例:

root  1234  0.0  0.5  12345  6789  ?  Ss  Jan01  0:00 /usr/sbin/sshd -D

最佳实践建议

  • 首选工具:日常使用ss(高效)或lsof(功能全面)。
  • 安全场景:结合sudo确保获取完整信息,避免权限遗漏。
  • 自动化脚本:推荐sslsof,输出格式更规范。
  • 端口冲突排查:用fuser [端口]/tcp快速终止进程:
    sudo fuser -k 80/tcp  # 强制结束占用80端口的进程

常见问题

Q1:为何命令输出无进程名?
→ 可能缺少sudo权限,部分系统进程信息需root查看。

Q2:工具未安装怎么办?

  • 安装ss/lsof
    sudo apt install iproute2 lsof  # Debian/Ubuntu
    sudo yum install iproute lsof   # CentOS/RHEL

Q3:如何查看UDP端口?
→ 命令中显式指定-u参数(如ss -ulnp)。


引用说明 基于Linux内核文档(kernel.org)及工具官方手册:

  • ssman ss
  • lsofman lsof
  • netstatman netstat
    操作示例已在Ubuntu 22.04/CentOS 7+验证,符合Linux标准规范(POSIX)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6609.html

(0)
酷番叔酷番叔
上一篇 2025年7月8日 01:44
下一篇 2025年7月8日 02:00

相关推荐

  • linux如何访问本地文件夹

    Linux中,可通过cd命令进入本地文件夹路径访问,如cd /home/user/folder。

    2025年8月18日
    5800
  • Linux系统如何查看swap的当前使用情况及详细信息?

    Linux系统中,Swap(交换空间)是硬盘上的一块特殊区域,当物理内存(RAM)资源不足时,系统会将部分暂时不用的内存数据转移至Swap,以释放内存供给当前运行的程序使用,从而避免系统因内存耗尽而崩溃,监控Swap的使用状态对于排查系统卡顿、内存不足等问题至关重要,本文将详细介绍Linux系统中查看Swap信……

    2025年8月22日
    5500
  • 如何安装ksh?

    KornShell (ksh) 是 Linux 环境中功能强大的 Unix shell,由 David Korn 开发,兼具 Bourne shell (sh) 的兼容性和 C shell (csh) 的交互特性(如命令行编辑),以下是 Linux 用户使用 ksh 的完整指南:不同 Linux 发行版的安装命……

    2025年7月26日
    4900
  • Linux如何连接远程FTP服务器?操作步骤与方法详解

    在Linux系统中,连接远程FTP服务器是常见的文件传输需求,无论是上传本地文件到服务器,还是从服务器下载资源到本地,掌握FTP连接方法都非常实用,FTP(File Transfer Protocol)是一种基于TCP/IP协议的文件传输协议,支持客户端与服务器之间的文件交互操作,本文将详细介绍Linux环境下……

    2025年9月30日
    3600
  • linux如何清除日志文件

    Linux 中,可以使用命令 sudo rm /var/log/* 来清除日志

    2025年8月17日
    5000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信