吨nicstat 命令是网络接口卡 (NIC) 的顶级实用程序。 它显示有关所有网卡的信息和统计信息,例如数据包、每秒千字节数、平均数据包大小等。 它适用于 Solaris 和 Linux 操作系统。
在这篇文章中,我将解释如何在 Debian / Ubuntu / RHEL / CentOS Linux 操作系统下安装和使用 nicstat 命令来查找有关您的 NIC 的统计信息。
旧的好 netstat -i 命令
-i 选项显示所有网络接口的表格以及以下信息:# netstat -i
示例输出:
Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 199549124 0 0 0 153882468 0 0 0 BMRU eth1 1500 0 138357627 0 630 0 151312724 0 0 0 BMRU lo 16436 0 0 0 0 0 0 0 0 0 LRU
但是,nicstat 提供有关您的 nic 的更多信息,例如:
- 显示 TCP 统计信息。
- 显示 UDP 统计信息。
- 报告字节输入和输出。
- 报告进出数据包。
- 报告 nic 利用率。
- 报告 nic 饱和度等。
第 1 步:下载并安装 nicstat
键入以下 wget 命令以下载最新版本的 nicstat :# wget https://nchc.dl.sourceforge.net/project/nicstat/nicstat-1.92.tar.gz
提取焦油球
使用 tar 命令解压名为 nicstat-1.92.tar.gz 的 tar 球,输入:# tar xvf nicstat-1.92.tar.gz
您将获得源代码和二进制文件:# cd nicstat-1.92
# ls -la
示例输出:
drwxr-xr-x. 2 509833 wheel 4096 Mar 10 07:43 . dr-xr-x---. 13 root root 4096 Mar 10 07:43 .. -rw-r--r--. 1 509833 wheel 4952 Oct 22 13:05 ChangeLog.txt -rwxr-xr-x. 1 509833 wheel 475 Oct 15 16:49 dladm.sh -rw-r--r--. 1 509833 wheel 1312 Oct 17 18:47 enicstat -rw-r--r--. 1 509833 wheel 8902 Oct 17 18:47 LICENSE.txt -rw-r--r--. 1 509833 wheel 1629 Sep 4 2012 Makefile.Linux -rw-r--r--. 1 509833 wheel 1596 Oct 17 19:31 Makefile.Solaris -rw-r--r--. 1 509833 wheel 9423 Oct 22 13:05 nicstat.1 -rw-r--r--. 1 509833 wheel 67376 Oct 22 13:05 nicstat.c -rwxr-xr-x. 1 509833 wheel 29645 Mar 10 07:46 .nicstat.RedHat_5_i386 -rwxr-xr-x. 1 509833 wheel 4134 Oct 15 20:38 nicstat.sh -rwxr-xr-x. 1 509833 wheel 69772 Oct 18 19:35 .nicstat.Solaris_10_i386 -rwxr-xr-x. 1 509833 wheel 74920 Oct 18 19:36 .nicstat.Solaris_10_sparc -rwxr-xr-x. 1 509833 wheel 77700 Oct 18 19:37 .nicstat.Solaris_11_i386 -rwxr-xr-x. 1 509833 wheel 83636 Oct 18 19:39 .nicstat.Solaris_11_sparc -rwxr-xr-x. 1 509833 wheel 112448 Oct 18 19:49 .nicstat.Solaris_9_i386 -rwxr-xr-x. 1 509833 wheel 127104 Oct 18 19:44 .nicstat.Solaris_9_sparc -rwx------. 1 509833 wheel 32250 Oct 18 20:02 .nicstat.Ubuntu_8_i386 -rw-r--r--. 1 509833 wheel 834 Oct 22 13:05 README.txt
步骤 #2:安装所需的 32 位软件包
您需要安装 32 位 glibc 软件包。 它包含 nicstat 命令使用的标准库。 如果您使用的是 64 位版本,请仅安装以下软件包:
关于 Debian Linux 6.0.5 64 位版本的说明
键入以下命令以安装所需的 32 位 libc6:$ sudo apt-get install libc6-i386
关于 Ubuntu Linux 12.04 LTS 64 位版本的说明
键入以下命令以安装所需的 32 位 libc6:$ sudo apt-get install libc6:i386
cd 进入 nicstat 目录并键入以下命令以创建指向 Ubuntu_8_i386 二进制文件的软链接:# cd nicstat-1.92
# ln -s .nicstat.Ubuntu_8_i386 .nicstat.Linux_i386
关于 CentOS / RHEL 6.4 64 位版本的说明
键入以下命令以安装所需的 32 位 libc6:# yum install glibc.i686
cd 进入 nicstat 目录并键入以下命令以创建指向 .nicstat.RedHat_5_i386 二进制文件的软链接:# cd nicstat-1.92
# ln -s .nicstat.RedHat_5_i386 .nicstat.RedHat_6_i386
如何使用 nicstat 命令?
只需键入以下命令:# ./nicstat.sh
示例输出:
传递 -x 选项以查看扩展输出:# ./nicstat.sh -x
示例输出:
15:39:22 RdKB WrKB RdPkt WrPkt IErr OErr Coll NoCP Defer %Util eth0 349.4 31.98 325.0 250.6 0.00 0.00 0.00 0.00 0.00 3.12 eth1 28.68 169.4 226.3 247.4 0.00 0.00 0.00 0.00 0.00 1.62
传递 -s 选项以查看扩展输出:# ./nicstat.sh -s
示例输出:
Time Int rKB/s wKB/s 15:40:55 eth0 349.372 31.981 15:40:55 eth1 28.686 169.365
要每 1 秒打印一次摘要,请键入:./nicstat.sh 1
要每 2 秒仅打印 5 次摘要,请键入:./nicstat.sh 2 5
示例输出:
了解 nicstat 输出
上面输出显示中 nicstat 的字段是:
- 5:51:22 (HH:MM:SS) : 对应于样本结束的时间,采用 24 小时时钟格式。
- eth0 和 eth1 : 接口名称。
- rKB/s :收到的千字节/秒。
- wKB/s :千字节/秒写入。
- rPk/s :每秒接收的数据包数。
- wPk/s :包/秒写入。
- rAvs :收到的数据包的平均大小)。
- wAvs :传输的数据包的平均大小。
- %有用 :接口的使用百分比。 对于全双工接口,这是 rKB/s 或 wKB/s 中较大的一个,作为接口速度的百分比。 对于半双工接口,rKB/s 和 wKB/s 相加。
- 星期六 :这是接口每秒看到的错误数。 接口可能接近饱和的指标。 该统计信息是由许多内核统计信息组合而成的。 建议在尝试诊断网络问题时使用 -x 选项来查看更多个人统计信息。
如何查看我的 TCP 网卡统计信息?
传递 -t 选项以查看 TCP 统计信息:# ./nicstat.sh -t
示例输出:
16:13:44 InKB OutKB InSeg OutSeg Reset AttF %ReTX InConn OutCon Drops TCP 0.00 0.00 811.3 592.2 0.01 0.02 0.000 12.6 2.09 0.02
在哪里,
- 知识库 :收到的千字节/秒。
- OutKB :传输的千字节/秒。
- 分割 : TCP 段/秒接收。
- OutSeg :每秒传输的 TCP 段数。
- 重启 : TCP 连接从 ESTABLISHED 状态或 CLOSE-WAIT 状态直接转换到 CLOSED 状态的次数。
- AttF :TCP 连接从 SYN-SENT 状态或 SYN-RCVD 状态直接转换到 CLOSED 状态的次数,加上 TCP 连接从 SYN 直接转换到 LISTEN 状态的次数-RCVD 状态。
- % ReTX :重新传输的 TCP 段的百分比——即传输的包含一个或多个先前传输的八位字节的 TCP 段的数量。
- 英康 :TCP 连接从 LISTEN 状态直接转换到 SYN-RCVD 状态的次数。
- 输出控制 : TCP 连接从 CLOSED 状态直接转换到 SYN-SENT 状态的次数。
- 滴 :从已完成连接队列和未完成连接队列中丢弃的连接数。
如何查看我的 UDP 网卡统计信息?
传递 -u 选项以查看 UDP 统计信息:# ./nicstat.sh -u
示例输出:
16:15:11 InDG OutDG InErr OutErr UDP 0.35 0.36 0.00 0.00
在哪里,
- 石墨烯 :UDP 数据报)/秒接收。
- OutDG :UDP 数据报)/秒传输。
- 误差 :收到的数据包由于包含错误而无法处理。
- 错误 :由于错误而没有成功传输的数据包。
其他选项
您可以组合选项# ./nicstat.sh -x -t -u
或传递等效于 -x -t -u 的 -a 选项:# ./nicstat.sh -a
示例输出:
16:34:10 InKB OutKB InSeg OutSeg Reset AttF %ReTX InConn OutCon Drops TCP 0.00 0.00 545.4 448.5 2.71 0.03 0.000 10.9 21.3 0.00 16:34:10 InDG OutDG InErr OutErr UDP 0.01 0.01 0.00 0.00 16:34:10 RdKB WrKB RdPkt WrPkt IErr OErr Coll NoCP Defer %Util eth0 348.9 31.94 324.5 250.3 0.00 0.00 0.00 0.00 0.00 3.12 eth1 28.71 169.2 227.1 248.1 0.00 0.00 0.00 0.00 0.00 1.62
打印 eth0 接口的统计信息,将“eth0”和“eth1”的速度分别设置为 100mbps/full-duplex 和 100mbps/full-duplex:# ./nicstat.sh -S eth0:100Full,eth1:100Full 5
打印 eth0 接口的统计信息,将“eth0”和“eth1”的速度分别设置为 100mbps/半双工和 1000mbps/全双工:# ./nicstat.sh -S eth0:100h,eth1:1000 5
参考:
- nicstat 博客条目.
- 项目主页 和/或 nicstat – Solaris 和 Linux 网络监控工具。
- nicstat 手册页