如何快速查看所有网络端口?

使用 netstat 命令(经典工具)

netstat 是传统的网络统计工具,可查看端口状态(需安装 net-tools 包):

# 查看所有活动连接(含进程名)
sudo netstat -tulnp
  • 参数解析
    • -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

使用 ss 命令(推荐替代方案)

ss(Socket Statistics)是 netstat 的现代替代品,速度更快、功能更全:

# 查看所有监听端口
sudo ss -tuln
# 检查特定端口(如80端口)
sudo ss -tuln sport = :80
  • 参数解析
    • -s:统计摘要
    • sport/dport:过滤源/目标端口(例:dport = :443

使用 lsof 命令(查看进程占用)

通过进程或文件视角检查端口(需安装 lsof):

# 查看所有网络端口
sudo lsof -i
# 检查特定端口占用(如3306)
sudo lsof -i :3306

输出示例

COMMAND  PID   USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
mysqld  456  mysql  12u IPv4  12345      0t0  TCP *:3306 (LISTEN)

使用 nmap 扫描端口(远程检测)

nmap 用于扫描本地或远程主机的开放端口(需安装):

# 扫描本机所有端口
nmap localhost
# 扫描特定端口范围(如1-1000)
nmap -p 1-1000 192.168.1.1

注意:扫描他人主机需获得授权,避免法律风险。


查看服务配置文件

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

  • 常见位置
    • /etc/services:系统预定义服务端口列表
    • /etc/apache2/ports.conf:Apache端口
    • /etc/ssh/sshd_config:SSH端口(默认为22)

特殊场景处理

  1. 仅查看TCP监听端口
    ss -tln
  2. 检查端口是否被占用
    sudo lsof -i :8080  # 无输出表示空闲
  3. 查看UDP服务
    sudo ss -uln

注意事项

  1. 权限要求
    查看进程关联信息(如 netstat -plsof)需 sudo 权限。
  2. 工具安装
    • Ubuntu/Debian:sudo apt install net-tools lsof nmap
    • CentOS/RHEL:sudo yum install net-tools lsof nmap
  3. 防火墙干扰
    若端口未显示,检查防火墙(ufwfirewalld)是否阻止访问。

  • 快速监听端口检查 → 用 ss -tuln
  • 查进程占用 → 用 lsof -i :端口号
  • 远程扫描 → 用 nmap(合法授权前提下)
    定期检查开放端口可提升系统安全性,避免未授权服务暴露,建议结合防火墙规则限制敏感端口访问。

引用说明: 参考 Linux 官方文档(man pages)、Linux Foundation 网络管理指南 及 Nmap 官方手册,确保方法经过实践验证,命令示例在 Ubuntu 22.04 及 CentOS 9 环境中测试通过。

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

(0)
酷番叔酷番叔
上一篇 2025年7月8日 22:36
下一篇 2025年7月8日 22:51

相关推荐

  • Linux如何拆分文件?常用命令与操作步骤详解指南?

    在Linux系统中,拆分文件是常见的操作需求,无论是为了便于传输大文件、处理日志数据,还是将大型数据集拆分为小文件进行分析,掌握文件拆分技巧都能提升工作效率,Linux提供了多种命令行工具支持文件拆分,每种工具适用于不同场景,本文将详细介绍这些工具的使用方法及注意事项,按文件大小拆分:split 命令split……

    2025年9月16日
    10300
  • linux如何执行c文件路径

    Linux中,使用gcc编译C文件后,通过./执行可执行文件,`.

    2025年8月17日
    10600
  • Linux安装软件有哪些命令行与图形界面的具体方法?

    在Linux系统中,安装软件与Windows或macOS差异较大,因其发行版众多(如Ubuntu、CentOS、Arch Linux等),且依赖管理机制不同,需根据场景选择合适方法,以下是常见安装方式的详细说明,涵盖基础操作、工具使用及注意事项,使用系统包管理器安装(推荐日常使用)系统包管理器是Linux发行版……

    2025年9月16日
    9600
  • Linux GCC依赖的两个包如何安装?

    在Linux系统中,GCC(GNU Compiler Collection)是应用最广泛的编译器套件,用于将C、C++、Objective-C等源代码编译为可执行程序,GCC的编译和运行依赖于多个基础软件包,其中最核心的两个依赖包是binutils和glibc(GNU C Library),缺少这两个包会导致G……

    2025年9月26日
    11500
  • 如何在linux文件中写入

    Linux 中,可使用文本编辑器如 vim、nano等打开文件

    2025年8月19日
    9900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信