在Linux系统中,网络问题层出不穷:服务启动失败、端口冲突、连接超时……新手往往盲目寻找端口,浪费时间。而netstat命令正是解决这些问题的“瑞士军刀”。它全称network statistics,可以显示网络连接、路由表、接口统计等,覆盖了90%的日常Linux网络排查需求。
netstat通常包含在net-tools包中。如果你的系统没有预装,可以使用以下命令安装: sudo apt install net-tools (Debian/Ubuntu) sudo yum install net-tools (CentOS/RHEL)
执行 netstat -anp 可以列出所有连接和监听端口。常用选项组合: - -t:显示TCP连接 - -u:显示UDP连接 - -n:以数字形式显示地址和端口 - -l:仅显示监听套接字 - -p:显示进程PID和名称 组合起来:netstat -tunlp 可以清晰查看系统监听的TCP/UDP端口及对应程序,是排查端口占用的首选。
输入 netstat -tunlp,输出示例:
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 tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 5678/mysqld这里我们看到SSH监听22端口,MySQL监听3306,PID分别为1234和5678。
比如要查8080端口,使用 netstat -tunlp | grep 8080。如果输出为空,说明端口未被监听;若有记录,则显示占用进程,快速解决端口占用冲突。
执行 netstat -anp 可以看到所有连接的网络连接状态,如ESTABLISHED(已建立)、TIME_WAIT(等待)等。如果大量连接处于TIME_WAIT,可能需要优化系统参数。
知道进程名想查端口,可结合grep:netstat -tunlp | grep nginx,立马看到nginx监听的80/443端口。
假设启动服务时提示“Address already in use”,按以下步骤解决: 1. 查找占用端口的PID:netstat -tunlp | grep 端口号 2. 杀死进程:sudo kill -9 PID 3. 重新启动服务即可。
netstat命令虽然强大,但在新版Linux中已被ss命令替代(性能更好)。不过netstat依然广泛使用,掌握它足以应对大部分网络故障。无论是Linux网络排查还是日常运维,netstat都是必备工具。希望这篇教程让你告别盲目找端口,高效解决网络问题!
本文由主机测评网于2026-02-17发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260225592.html