如何在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)
酷番叔酷番叔
上一篇 2天前
下一篇 2天前

相关推荐

  • 卸载分区会丢失数据吗

    在Linux系统中为分区扩容是常见的磁盘管理操作,通常发生在数据增长导致存储空间不足时,以下为详细操作指南,请务必在操作前备份重要数据,避免操作失误导致数据丢失,扩容前的关键准备备份数据使用 rsync 或 dd 命令备份目标分区数据,或直接复制到外部存储,rsync -avh /mnt/target_part……

    2025年7月1日
    1100
  • 为什么你的代码总出bug?

    切换脚本的核心原理通过脚本动态修改环境变量、符号链接或配置文件,实现快速切换,常用方法包括:别名(Alias):临时替换命令符号链接(Symlink):动态指向目标文件PATH优先级:调整$PATH顺序版本管理工具:如update-alternatives具体操作步骤创建切换脚本以切换Java版本为例:# 用法……

    2025年6月23日
    900
  • 如何使用 ip 命令优化网络?

    ip 命令是现代 Linux 系统推荐使用的强大网络配置工具,用于管理网络接口、IP 地址、路由表、ARP 缓存等,功能全面且语法统一。

    2025年6月20日
    1700
  • 为什么程序会突然卡死?

    死锁是指多个进程在运行中因争夺资源而陷入的一种僵持状态,每个进程都持有部分资源,同时等待其他进程占有的资源,形成循环等待,导致所有进程都无法向前推进,系统无法正常运行。

    2025年7月4日
    1100
  • 为什么你的Linux文件结构总是混乱?

    在Linux系统中,文件结构是操作系统的核心骨架,它决定了文件、目录和设备的组织方式,无论您是系统管理员、开发者还是普通用户,理解如何查看文件结构都至关重要——它能帮助您高效管理系统资源、排查故障或部署应用,下面将详细介绍多种查看方法,从基础命令到高级工具,均附带实用示例,Linux采用层级树形结构,以根目录……

    2025年7月5日
    900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信