Linux如何管理系统网络端口_Linuxnetstat与ss使用

2次阅读

推荐优先使用 ss 工具查看网络端口,因其基于 netlink 接口,比依赖 /proc/net 的 netstat 更快更高效;ss 支持灵活过滤语法,适合高并发环境,而 netstat 因兼容性仍被使用但逐渐被取代。

Linux 如何管理系统网络端口_Linuxnetstat 与 ss 使用

在 Linux 系统中,管理网络 端口 是日常运维的重要任务之一。通过查看开放的端口、连接状态和服务监听情况,可以快速排查 网络问题 、诊断服务异常或识别潜在的安全风险。常用的两个 工具 netstatss,它们都能显示套接字(socket)信息,但各有特点。

netstat:经典网络状态查看工具

netstat(network statistics)是一个传统的命令行工具,用于显示网络连接、路由 表、接口统计等信息。尽管在较新的系统中逐渐被 ss 取代,但因其广泛兼容性仍被普遍使用。

常用选项:

  • netstat -tuln:列出当前正在监听的 TCP 和 UDP 端口
  • -t 显示 TCP 连接
  • -u 显示 UDP 连接
  • -l 仅显示监听中的服务
  • -n 以数字形式显示地址和端口号(不解析主机名或服务名)
  • netstat -anp | grep :80:查找与 80 端口相关的所有连接及其进程

其中 -p 参数可显示关联的进程 ID 和程序名,但需要 root 权限才能看到所有进程。

ss:更高效的现代替代工具

ss(Socket Statistics)是较新的工具,设计用于取代 netstat。它直接从内核获取信息,因此速度更快、资源占用更低,尤其适合高并发环境。

常见用法:

  • ss -tuln:与 netstat -tuln 功能相同,列出监听的 TCP/UDP 端口
  • ss -tnlp:显示 TCP 监听端口及对应进程(需权限)
  • ss -s:简要统计当前套接字使用情况
  • ss -o:显示 TCP 连接的计时器信息(如重传时间)
  • ss dst 192.168.1.100:过滤目标地址为指定 IP 的连接

ss 支持更灵活的过滤语法,例如使用表达式筛选特定状态的连接:
ss '(dport = :80 or dport = :443)' 查看目的端口为 80 或 443 的连接。

Linux 如何管理系统网络端口_Linuxnetstat 与 ss 使用

闪念贝壳

闪念贝壳是一款 AI 驱动的智能语音笔记,随时随地用语音记录你的每一个想法。

Linux 如何管理系统网络端口_Linuxnetstat 与 ss 使用 218

查看详情 Linux 如何管理系统网络端口_Linuxnetstat 与 ss 使用

如何选择 netstat 与 ss

虽然两者功能相似,但推荐优先使用 ss,特别是在性能敏感或生产环境中。netstat 依赖过时的 /proc/net 文件系统接口,而 ss 使用更底层的 netlink 接口,响应更快,输出更精确。

若系统中没有安装 netstat,可能是因为所属的 net-tools 包未默认安装(如某些精简版 CentOS 或 Ubuntu)。可通过以下命令安装:

  • Ubuntu/Debian: sudo apt install net-tools
  • CentOS/RHEL: sudo yum install net-toolssudo dnf install net-tools

ss 则包含在 iproute2 软件包中,现代发行版通常已预装。

基本上就这些。掌握 netstat 和 ss 的基本用法,能帮助你快速了解系统网络状态,定位服务是否正常监听、是否有异常连接等问题。日常建议多用 ss,熟悉其语法后效率更高。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-01发表,共计1244字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources