如何在Linux中快速查看端口状态?

使用 netstat 命令(经典工具)

功能:查看所有活动的网络连接、监听端口及路由表。
安装(部分系统需手动安装):

sudo apt install net-tools  # Debian/Ubuntu
sudo yum install net-tools  # CentOS/RHEL

常用参数组合

sudo netstat -tuln
  • -t:显示TCP端口
  • -u:显示UDP端口
  • -l:仅列出监听端口
  • -n:以数字形式显示(不解析域名)
  • -p:显示进程名(需sudo权限)

输出示例

Proto Recv-Q Send-Q Local Address  Foreign Address  State       PID/Program name
tcp        0      0 0.0.0.0:22     0.0.0.0:*        LISTEN      1234/sshd
tcp6       0      0 :::80          :::*             LISTEN      5678/nginx

适用场景:快速检查本地服务监听状态,定位端口冲突。


使用 ss 命令(netstat 的现代替代)

优势:执行速度更快,语法更简洁(推荐优先使用)。
基础命令

sudo ss -tuln

参数同 netstat-t/-u/-l/-n)。
扩展用法

  • 查看占用某端口的进程:
    sudo ss -ltnp 'sport = :80'
  • 显示所有已建立连接:
    ss -t state established

使用 lsof 命令(基于进程的端口查看)

功能:列出被进程打开的文件(包括网络套接字)。
安装sudo apt install lsofsudo yum install lsof
查看监听端口

sudo lsof -i -P -n | grep LISTEN
  • -i:显示网络连接
  • -P:禁用端口别名(显示数字端口)
  • -n:禁用域名解析
    查看指定端口(如80)

    sudo lsof -i :80

    输出示例

    nginx   5678  root    9u  IPv6  12345      0t0  TCP *:80 (LISTEN)

    适用场景:精准定位端口对应的进程及程序路径。


使用 nmap 扫描本地端口(安全检测)

功能:主动扫描开放端口,支持协议探测。
安装sudo apt install nmapsudo yum install nmap
扫描本机

sudo nmap -sT -p- 127.0.0.1
  • -sT:TCP连接扫描
  • -p-:扫描所有端口(1-65535)
  • 指定端口范围:-p 1-1000

输出示例

PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
3306/tcp open mysql

注意:扫描公网IP需谨慎,避免触发安全机制。


查看服务配置文件

某些服务通过配置文件固定端口:

  • SSH/etc/ssh/sshd_configPort 22
  • Nginx/Apache/etc/nginx/nginx.conf/etc/apache2/ports.conf
  • 防火墙sudo ufw status(Ubuntu)或 firewall-cmd --list-ports(CentOS)

端口状态诊断技巧

  1. 权限问题
    • 查看1024以下端口需 sudo(如HTTP 80、SSH 22)。
  2. 端口无监听?
    • 检查服务是否启动:systemctl status nginx
    • 防火墙是否放行:sudo iptables -L -n
  3. 连接失败?
    • 使用 telnet 测试连通性:telnet 目标IP 端口
    • nc -zv 目标IP 端口

总结建议

场景 推荐命令 优势
快速检查监听端口 ss -tuln 速度快,无需安装
定位端口所属进程 sudo lsof -i :端口 显示进程详情
全面扫描开放端口 sudo nmap 127.0.0.1 支持协议探测
兼容旧系统 netstat -tuln 广泛预装

安全提示

  • 关闭不必要的端口以降低攻击面。
  • 使用 fail2ban 或防火墙(如 ufw)保护敏感服务。
  • 定期审计端口:sudo ss -tuln > port_audit.log

引用说明

  • netstatsslsof 命令参考:Linux Manual Pages (man netstat/man ss/man lsof)
  • Nmap官方文档:https://nmap.org/book/man.html
  • Linux网络管理指南:Red Hat Enterprise Linux Networking Guide

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

(0)
酷番叔酷番叔
上一篇 2025年7月19日 05:19
下一篇 2025年7月19日 05:44

相关推荐

  • Linux如何减小逻辑卷组(VG)的容量?

    在Linux系统中,卷组(VG)是逻辑卷管理(LVM)的核心组件之一,由一个或多个物理卷(PV)组成,为逻辑卷(LV)提供存储空间,当磁盘空间规划不合理或需要释放空间给其他用途时,可能需要减小VG的容量,减小VG通常涉及从VG中移除物理卷(PV)或调整PV的大小,但操作过程需谨慎,避免数据丢失,以下是详细步骤和……

    2025年9月9日
    7000
  • Linux下如何创建和编写C文件?

    在Linux环境下进行C语言开发是许多开发者的首选,得益于其开源特性和强大的命令行工具链,本文将详细介绍如何在Linux系统中建立C文件,从开发环境准备到代码编写、编译运行,再到项目管理和调试技巧,帮助新手快速上手,开发环境准备在开始创建C文件前,需确保系统已安装必要的开发工具,Linux发行版通常提供包管理器……

    2025年8月25日
    7900
  • Linux下如何运行jar包?操作步骤有哪些?

    在Linux系统中运行JAR包是Java应用部署的常见操作,涉及Java环境准备、运行方式配置、参数调优及问题排查等多个环节,以下是详细步骤和注意事项,帮助您顺利在Linux环境下运行JAR包,运行JAR包前的准备工作确认Java环境已安装JAR包依赖Java虚拟机(JVM)运行,需确保系统已安装Java开发工……

    2025年9月9日
    8200
  • Linux分屏如何让效率翻倍?

    终端分屏:用 tmux 或 screen 实现适用场景:SSH远程操作、长时间运行任务、终端多窗口协作,tmux(推荐工具)安装命令(以Debian/Ubuntu为例):sudo apt install tmux基础操作:启动新会话:tmux垂直分屏:Ctrl+B → (先按组合键,再按符号键)水平分屏:Ctr……

    2025年7月21日
    9800
  • 双核CPU+4G内存真能流畅运行?

    Linux开发系统是程序员、运维工程师和开源贡献者的核心工具,它提供高度可定制的环境、强大的命令行工具和与开发栈的无缝集成,本文将详细指导你从零搭建专业级Linux开发环境,涵盖系统安装、环境配置、开发工具链部署及安全加固,所有步骤均通过实际验证,外设:支持UEFI启动的电脑、USB驱动器(≥8GB)选择Lin……

    2025年7月28日
    8800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信