插件窝 干货文章 linux怎么查看进程端口

linux怎么查看进程端口

端口 sudo 查看 bash 220    来源:    2025-04-06

在Linux系统中,可以通过以下几种方法查看进程占用的端口:

1. 使用 netstat 命令(传统工具,部分新系统可能需安装)

sudo netstat -tulnp
  • 参数说明
    • -t:显示TCP端口
    • -u:显示UDP端口
    • -l:仅显示监听中的端口
    • -n:以数字形式显示端口(不解析服务名称)
    • -p:显示进程名/PID(需要sudo权限)

2. 使用 ss 命令(netstat的现代替代工具,推荐)

sudo ss -tulnp
  • 参数与netstat类似,但速度更快,输出更简洁

3. 查看特定进程的端口(已知PID时)

sudo ls -l /proc/<PID>/fd/ | grep socket

或通过lsof

sudo lsof -Pan -p <PID> -i

4. 使用 lsof 直接查看端口占用

sudo lsof -i :<端口号>  # 查看指定端口
sudo lsof -i             # 查看所有网络连接

5. 查找特定服务的端口(如SSH)

sudo ss -ltp | grep ssh

输出示例:

Proto Recv-Q Send-Q Local Address:Port  Peer Address:Port Process
tcp   0      0      0.0.0.0:22          0.0.0.0:*        users:(("sshd",pid=1234,fd=3))
  • 关键信息
    • Local Address:Port0.0.0.0:22表示监听所有网卡的22端口
    • Process:进程名和PID(如sshd的PID为1234)

注意事项:

  1. 普通用户可能无法查看系统级进程信息,建议使用sudo
  2. 如果命令不存在,可通过包管理器安装: bash # Ubuntu/Debian sudo apt install net-tools lsof # CentOS/RHEL sudo yum install net-tools lsof

扩展技巧:

  • 查看端口和服务映射: bash cat /etc/services | grep <端口号>
  • 实时监控网络连接: bash sudo nethogs # 按进程查看带宽 sudo iftop # 按连接查看流量