在我们进行系统运维的时候,经常需要对服务器上的网络连接情况进行查看和监控,比如在进行蓝鲸系统的部署过程中某个组件部署失败,而错误提示则指向了网络连接问题,此时我们需要对网络连接进行检查:进程的服务端口是否在侦听?进程的服务端口是否有连接?有哪些IP连接到了这台服务器上?有哪些IP连接到了特定的端口上?……等等等等。
通常我们都是在进行跟网络相关的问题排查时会需要查看服务器上的网络及端口的连接情况,本文就通过最常用的netstat命令来介绍网络连接情况的查看和监控。下面我们以循序渐进的方式来对几个不同的场景进行介绍。
查看本机有哪些端口正在侦听
先从最简单也是最常用的命令参数组合开始:netstat -lntup,通过这个命令可以查看到当前服务器是正在进行侦听的服务端口。通常我们会通过这个命令来确认某个端口是否在侦听,以判断绑定这个端口的服务进程是否在正常运行中。
参数解释:
-l或--listening:显示监听中的服务器的连接情况
-n或--numeric:用数字直接显示IP地址和端口,而不将其解析成域名或进程名
-t或--tcp:显示TCP传输协议的连接情况
-u或--udp:显示UDP传输协议的连接情况
-p或--programs:显示正在使用连接的进程ID和进程名称
示例图如下: