如何在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如何以root权限登录?详细操作步骤与方法说明

    在Linux系统中,root账户是超级用户,拥有对系统的完全控制权限,包括修改系统文件、安装卸载软件、管理用户和进程等,由于root权限过高,误操作可能导致系统崩溃或安全风险,因此多数Linux发行版默认限制直接root登录,但特定场景下仍需掌握root权限的登录方法,以下是Linux中以root权限登录的详细……

    2025年8月23日
    10700
  • 如何快速将大文件分卷压缩成2GB?

    为什么需要分包压缩?突破单文件大小限制(如FAT32文件系统最大4GB)分割大文件便于网络传输分卷备份降低存储风险兼容不同存储介质常用工具及操作步骤使用 tar + split(推荐原生方案)场景:压缩并分割超大目录/文件步骤:# 合并分卷并解压cat output.tar.gz.part* | tar -xv……

    2025年7月26日
    14200
  • linux中如何获取时间

    在Linux系统中,获取时间是系统管理和应用开发中的基础操作,涉及系统时间、硬件时间、时区等多个概念,Linux通过多种命令和接口提供时间获取功能,涵盖命令行工具、系统调用和编程库,满足不同场景的需求,本文将详细介绍Linux中获取时间的常用方法及其应用场景,Linux时间管理基础Linux系统中的时间主要分为……

    2025年10月5日
    8600
  • Debian/Ubuntu依赖问题如何彻底解决?

    在Linux环境中解析JSON文件是开发者和系统管理员的常见需求,无论是处理API响应、配置文件还是日志数据,高效解析JSON都至关重要,以下是几种专业、可靠的方法,结合工具选择与安全实践,确保操作的可信度和权威性(符合E-A-T原则),命令行工具解析(推荐:jq)jq 是Linux下最强大的JSON处理工具……

    2025年6月28日
    12300
  • Debian/Ubuntu驱动安装失败如何自救?3步解决!

    为什么在Linux上使用Git?原生支持:Git由Linus Torvalds开发(Linux创始人),与Linux内核深度集成,性能最优,开发效率:终端操作直接高效,适合服务器环境与自动化脚本,行业标准:90%的开源项目使用Git(据GitHub 2023报告),掌握它是开发者必备技能,安装Git通过包管理器……

    2025年7月29日
    10000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信