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

使用 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中bool命令的具体使用方法是什么?

    在Linux系统中,并没有名为“bool”的独立命令,但“bool”通常指代布尔逻辑(Boolean Logic)的测试与判断,这一功能主要通过内置的test命令及其别名[、[[实现,test命令是Shell脚本中进行条件判断的核心工具,通过测试表达式返回真(0)或假(非0),配合if、while等控制结构实现……

    2025年9月13日
    12900
  • linux下如何实现软连接

    Linux下,可以使用ln -s命令创建软连接。

    2025年8月9日
    15200
  • Java工程如何在Linux环境下运行?

    在Linux环境下运行Java工程是后端开发中的常见需求,整个过程涉及环境配置、项目编译、依赖管理、程序运行及后台服务管理等多个环节,以下是详细的操作步骤和注意事项,帮助顺利完成Java工程的部署与运行,环境准备:安装与配置JDKJava工程的运行依赖于Java Development Kit(JDK),需先确……

    2025年8月31日
    15900
  • 如何查看Linux系统当前使用的具体时钟源及其配置与状态信息?

    在Linux系统中,时钟源是维持系统时间准确性的核心,它包括硬件时钟(RTC,由主板电池供电)和软件时钟(系统时间,由内核维护),内核还依赖底层时钟源(如TSC、HPET、ACPI_PM等)来跟踪时间流逝,这些时钟源的稳定性和精度直接影响系统时间同步、任务调度等功能的性能,要查看Linux时钟源,可通过多种命令……

    2025年9月15日
    40000
  • Linux程序卡死?如何快速停止?

    通过终端停止程序终止前台程序(Ctrl+C)适用场景:程序在终端前台运行(如 python script.py),操作:按下 Ctrl + C 组合键,立即发送中断信号(SIGINT),程序会正常退出并释放资源,示例:$ tail -f /var/log/syslog # 运行中按 Ctrl+C 终止通过进程I……

    2025年7月27日
    13400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信