Linux下netstat和vmstat以及ifstat的使用


1.netstat

netstat是一个功能很强大的网络信息统计工具。它可以打印本地网卡接口上的全部连接,路由表信息,网卡接口信息的等。一般情况下我们大量用到的是TCP连接及其状态信息,因为我们如果要获得路由表信息和网卡接口信息,我们可以使用输出内容更丰富的route和ifconfig命令

netstat的常见参数

参数 说明
-n 使用IP地址表示主机,而不是主机名;使用数字表示端口而不是服务名称
-a 显示结果中包含监听socket
-t 仅显示TCP连接
-r 显示路由信息
-i 显示网卡接口的数据流量
-c 每隔1s输出一次
-o 显示socket定时器,比如保活定时器的信息
-p 显示socket所属进程的PID和名字
我们可以用前面学过的nc开个测试服务器和客户端进行netstat的命林测试,事例如下

当用nc在本机127.0.0.1端口为4444的服务器进程,然后在用nc当客户机进行连接

netstat -nat|grep 127.0.0.1:4444

显示结果如下图
\
由上图可知netstat的每行都输出6个字段,其名称和含义分别为
<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjx0YWJsZT4NCjx0aGVhZD4NCgk8dHI+DQoJPHRoPg0KCQk8Y29kZSBjbGFzcz0="hljs 1c">名称 含义 Proto 协议名 Recv-Q socket内核接收缓冲区尚未被应用程序读走的数据段 Send-Q 未被对方确认的数据段 Local Address 本端的IP地址和端口号 Foreign Address 对方的IP地址和端口号 State socket的状态

2.vmstat

vmstat的缩写是virtual memory statistics的缩写,它能实时输出系统的各种资源的使用情况,比如进程信息,内存使用情况,CPU使用率以及I/O使用情况

vmstat常见的参数

参数 说明
-f 显示系统自启动以来执行的fork次数
-s 显示内存相关的统计信息
-d 显示磁盘相关的统计信息
-p 显示指定磁盘的显示信息
delay 采样间隔,即每隔多少秒刷新一次
count 采样次数,共输出多少次采样信息

3.ifstat

ifstat是interface statistics的缩写,它是一个简单的网络流量监控工具

ifstat的参数

参数 说明
-a 检测系统上的所有网卡接口
-i 指定要检测的网卡接口
-t 在每行输出信息前加上事件戳
-b 以Kbit/s显示数据,而不是默认的KB/S
delay 采样间隔
count 采样次数

具体事例如下

ifstat -a 1 5  #每个1s输出一次,共5次

\

从输出来看博主本机有3个网卡接口,ifstat的每条输出都以KB/S为单位显示个网卡接口上接收和发送数据的速率。所以我们可以用ifstat估计出服务器的总输入和输出流量

相关内容

    暂无相关文章