在现代 Linux 系统中,掌握网络协议监控技能对于系统管理员、开发人员甚至普通用户都至关重要。无论是排查网络故障、优化服务器性能,还是保障系统安全,了解当前系统的网络连接状态都是第一步。本文将从零开始,带你一步步学习如何使用 Linux 自带工具监控网络协议,真正做到小白也能看懂!
网络协议监控指的是实时观察和分析系统中网络连接的状态,包括使用的协议(如 TCP、UDP)、本地与远程 IP 地址和端口、连接状态(如 LISTEN、ESTABLISHED)等信息。通过这些数据,我们可以判断服务是否正常运行、是否有异常连接、是否存在安全风险等。
Linux 提供了多个命令行工具用于网络协议监控,其中最经典的是 netstat 和更现代高效的 ss。下面我们将分别介绍它们的使用方法。
netstat(Network Statistics)是一个老牌但功能强大的网络工具,可以显示各种网络连接、路由表、接口统计等信息。
首先,请确保你的系统已安装 net-tools 包(大多数发行版默认已安装):
# Ubuntu/Debian 安装sudo apt install net-tools# CentOS/RHEL 安装sudo yum install net-tools 查看所有活动的 TCP 和 UDP 连接:
netstat -tuln 参数说明:
输出示例:
Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:68 0.0.0.0:* 这表示 SSH 服务(端口 22)正在监听所有接口,MySQL(端口 3306)只监听本地回环,DHCP 客户端(端口 68)正在使用 UDP 协议。
ss(Socket Statistics)是 netstat 的现代替代品,速度更快、功能更强,且由 iproute2 工具包提供(通常已预装)。
同样查看所有监听的 TCP 和 UDP 端口:
ss -tuln 你也可以查看所有已建立的连接:
ss -tn 如果想看到进程信息(需要 root 权限):
sudo ss -tunlp 参数 -p 会显示使用该连接的进程 PID 和名称,这对排查问题非常有帮助。
假设你发现服务器响应变慢,怀疑有异常连接。你可以运行以下命令快速检查:
ss -tn state established 这将列出所有已建立的 TCP 连接。如果看到大量来自陌生 IP 的连接,可能遭遇了 DDoS 攻击或端口扫描。
另一个常见场景:你想确认 Web 服务(如 Nginx)是否在监听 80 端口:
ss -ltn | grep ':80' 通过本文,你已经掌握了 Linux 系统中两种核心的网络协议监控工具:netstat 和 ss。虽然 netstat 更为人熟知,但官方已建议使用更高效的 ss。无论你是进行日常运维、安全审计还是学习网络知识,这些命令都是必备技能。
记住几个关键点:
ss -tuln 快速查看监听端口-p 参数可看到进程信息(需 sudo)grep 可精准过滤特定端口或服务现在,打开你的终端,亲自试试这些命令吧!实践是最好的老师。掌握 Linux网络监控、网络协议分析、netstat命令 和 ss命令,你离成为一名合格的 Linux 用户又近了一步!
本文由主机测评网于2025-11-26发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/202511814.html