netstat(network statistics 的缩写)是一个命令行工具,用于监视传入和传出的网络连接情况,也以用来查看路由表,接口统计信息等,该工具适用于 Linux 、Unix 和 windows,但是不同的系统下,参数用法可能不一样。
netstat 是最基本的网络故障调试工具之一,它告诉您打开了哪些端口以及哪些程序分别在监听哪些端口。解决服务器管理过程中遇到对网络故障的问题非常有用,今天就给大家介绍日常服务器管理过程中会碰到的 netstat 的常见用法。
1、安装 netstat
部分系统在分发的时候可能没有安装,在运行的时候会跳出“-bash: netstat: 未找到命令”的错误提示,以 CentOS 7 为例,适用 yum 安装 netstat。
yum -y install net-tools
2、列出所有的 TCP 和 UDP 连接
如果需要查找特定的进程或者端口或者关键字,我们可以使用 grep
进行匹配。
netstat -a
把 -a
替换成 -at
就可以列出所有的 TCP 连接,替换成 -au
就可以列出所有的 UDP 连接。
3、列出所有监听中的连接
netstat -l
把 -l
替换成 -lt
就可以列出所有监听的 TCP 连接,替换成 -lu
就可以列出所有监听的 UDP 连接。
4、显示统计信息
默认情况下,会显示所有的协议的统计信息,包括 TCP、UDP、ICMP 和 IP 协议,也可以指定参数显示特殊的协议。
netstat -s
把 -s
替换成 -st
就可以显示 TCP 协议统计信息,替换成 -su
就可以显示 UDP 协议统计信息。
5、显示网卡信息
netstat -i
6、显示进程的 PID
netstat -p
同样也可以使用 -tp
和 -up
组合参数,分别显示 TCP 协议和 UDP 协议。