主机评测 - netstat
type: channel
link: https://zjpc.cc/tag/netstat/
items: 使用netstat命令来查看你的Linux系统网络连接

使用netstat命令来查看你的Linux系统网络连接
type: item
date: 2022-04-13T12:17:00+08:00
description: 服务监测和端口扫描是标准的行业惯例。有很好的软件，如 Prometheus 协助这个过程自动化，SELinux 协助上下文和保护系统访问权限。然而，我相信了解你的服务器是如何连接到其他网络和设备的，是建立正常服务器基准的关键，能够帮助你识别有可能表明错误和入侵等异常情况。作为一个初学者，我已经掌握了 netstat 命令为我的服务器提供了监测和网络故障排除的重要观察手段。Netstat 和类似的一些网络监测工具被归入 net-tools 软件包 里，用来显示关于活动连接的信息。因为运行在开放的端口的服务往往容易被利用，定期进行网络监测能够帮助你及早探测到可疑的活动。安装 netstatnetstat 经常预装在 Linux 发行版上。如果 netstat 没有在你的服务器上安装，用你的包管理器安装它。下面是在基于 Debian 的系统上：$ sudo apt-get install net-tools在基于 Fedora 的系统上：$ dnf install net-tools使用 netstat就其本身而言，netstat 命令显示了全部建立成功的连接。你可以使用 netstat 的参数指定进一步预期的输出。举个例子，要显示所有监听和非监听的连接，使用 --all（-a 为简写）的参数。这将返回许多结果，所以在例子中我用管道符输出给 head 命令来显示输出的前 15 行：$ netstat --all | head -n 15Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:27036 *:* LISTEN tcp 0 0 localhost:27060 *:* LISTEN tcp 0 0 *:16001 *:* LISTEN tcp 0 0 localhost:6463 *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 localhost:57343 *:* LISTEN tcp 0 0 *:ipp *:* LISTEN tcp 0 0 *:4713 *:* LISTEN tcp 0 0 10.0.1.222:48388 syd15s17-in-f5.1e:https ESTABLISHEDtcp 0 0 10.0.1.222:48194 ec2-35-86-38-2.us:https ESTABLISHEDtcp 0 0 10.0.1.222:56075 103-10-125-164.va:27024 ESTABLISHEDtcp 0 0 10.0.1.222:46680 syd15s20-in-f10.1:https ESTABLISHEDtcp 0 0 10.0.1.222:52730 syd09s23-in-f3.1e:https ESTABLISHED要只显示 TCP 端口，使用 --all 和 --tcp 参数，或者简写成 -at ：$ netstat -at | head -n 5Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:27036 *:* LISTEN tcp 0 0 localhost:27060 *:* LISTEN tcp 0 0 *:16001 *:* LISTEN要只显示 UDP 端口，使用 --all 和 --udp 参数，或者简写成 -au ：$ netstat -au | head -n 5Active Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:27036 *:* udp 0 0 10.0.1.222:44741 224.0.0.56:46164 ESTABLISHEDudp 0 0 *:bootpc netstat 命令参数常常是简单易懂的。举个例子，要显示带有全部进程 ID（PID）和数字地址的监听 TCP 和 UDP 的端口：$ sudo netstat --tcp --udp --listening --programs --numericActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address…