如何在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如何显示用户名并破解密码?

    在Linux系统中,用户名和密码的管理是系统安全的核心环节,了解如何显示用户名以及合法场景下的密码破解方法,有助于系统管理员进行安全审计、用户权限管理或密码恢复操作,但必须明确:任何密码破解行为需在授权范围内进行,未经授权的破解可能违反法律法规,本文将从合法合规角度出发,详细说明Linux系统中用户名的显示方法……

    2025年9月19日
    10200
  • 为什么Linux所有文件夹都从根目录开始?

    Linux文件夹的存储规则根目录()所有文件夹的起点,类似Windows的C:\,/home:存储用户个人文件夹(如/home/username)/etc:存放系统配置文件/var:存储日志、缓存等动态数据绝对路径 vs 相对路径绝对路径:从根目录开始的完整路径(如/usr/local/bin)相对路径:基于当……

    2025年6月19日
    15600
  • linux如何进行分区

    Linux 中,可使用分区工具如 fdisk、gdisk等进行

    2025年8月17日
    13600
  • Linux系统下如何配置才能顺畅玩LOL?

    在Linux系统下运行英雄联盟(LOL)并非官方支持的功能,但通过兼容层、虚拟机等技术手段,仍可实现游戏体验,本文将详细讲解不同方法的原理、配置步骤及注意事项,帮助Linux用户顺利“上车”,Linux下玩LOL的可行方法LOL官方客户端仅支持Windows,因此Linux玩家需借助第三方工具实现兼容,目前主流……

    2025年8月23日
    11700
  • linux如何停止c程序

    Linux中,可以使用kill命令停止C程序,需先获取其进程ID(P

    2025年8月10日
    12800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信