ipstat - 报告有关 IP 通信流量的统计信息
ipstat [-cegkLmnrt] [-a address[,address...]] [-A address[,address...]] [-d d|u] [-E all|event[,event...]] [-i interface[ ,interface...]] [-l nlines] [-p protocol[,protocol... ]] [-s key | -S key] [ -u R|K|M|G|T|P] [-x opt[=val][ ,opt[=val]...]] [interval [count]]
ipstat 实用程序根据选定的输出模式和排序顺序来收集和报告有关 IP 通信流量、IP 包丢弃以及 IP 相关 MIB 事件的统计信息。ipstat 还提供了一些选项来仅收集和报告与指定源或目标地址、接口和较高层协议匹配的 IP 通信流量或事件的统计信息。
支持以下选项:
对源地址进行过滤。
对目标地址进行过滤。
在以前的报告下方列显新报告而不是将其覆盖。
每个报告列显时间戳,采用标准日期格式 (–d d) 或自纪元以来的秒数,即 Unix 时间 (–d u)。
显示包丢弃事件。
显示 IP 相关 MIB 事件(或所有事件)的逗号分隔列表。事件名称不区分大小写。有关整套可用事件,请运行 ipstat -L 命令。
按通信流分组。
对接口名称进行过滤。
显示包统计信息。
每个报告输出的数据行数。
列出所有可用的 IP 相关 MIB 事件。
生成计算机可解析的输出。
将网络地址显示为数字。不将 IP 地址解析为主机名。
对协议名称进行过滤。
仅显示接收到的包的数据。
按照 key 以升序 (–S) 或降序 (–s) 排序,其中 key 可以为如下值:
source-源 IP 地址
dest-目标 IP 地址
proto-较高层协议
int-接口名称
bytes-数据量
缺省情况下,IP 通信流量的数据按字节数以降序排序。事件/丢弃数据按流元组以降序分组。
仅显示传输的包的数据。
如果使用了该选项,则可以选择显示所有统计信息所用的单位,例如 R:原始计数、K:千位、M:兆位、T:兆兆位、P:千兆兆位。如果没有使用该选项,则将根据情况使用不同单位显示统计信息,采用 xy.zU 格式,其中 x、y 和 z 是数字,U 是相应的单位。
启用或修改 DTrace 运行时选项或 D 编译器选项。完整的选项列表位于 dtrace(8)。对于此实用程序,最有用的选项为 aggsize 和 aggrate。如果尝试修改以下选项之一,此实用程序将显示如下错误消息:
Data dropped. Consider using '-x aggsize=8k' option.
aggsize 的缺省值为 512k。aggrate 的缺省值为 1Hz。
下面的列表介绍了 ipstat 报告的列标题和含义:
与此通信流量关联的源 IP 地址或主机名。
与此通信流量关联的目标 IP 地址或主机名。
与此通信流量关联的较高层协议(TCP、UDP、SCTP)。
与此通信流量关联的接口的名称。
抽样间隔内的 IP 通信流量速率或 IP 包丢弃数。速率显示为字节数,但也可以使用 –k 将其更改为包数。在不可解析模式下,速率将根据需要进行调整(可以选择通过 –u 选项进行调整),并显示 K、M、G、T 或 P 后缀。在可解析模式下,始终显示未经调整的速率。
IP 相关事件的名称。
抽样间隔内的 IP 包丢弃速率。在常规输出中,此速率以每秒字节数(无后缀)、千字节数 (K)、兆字节数 (M)、千兆字节数 (G)、兆兆字节数 (T) 或千兆兆字节数 (P) 为单位来报告。在计算机可解析的输出中,此速率以每秒字节数为单位来表示。–u 选项可用于为此数字指定固定单位。
抽样间隔内的 IP 通信流量包速率。在常规输出中,此速率以每秒包数(无后缀)、每秒千包数 (K)、每秒兆包数 (M)、每秒千兆包数 (G)、每秒兆兆包数 (T) 或每秒千兆兆包数 (P) 为单位来报告。在计算机可解析的输出中,此速率以每秒包数为单位来表示。–u 选项可用于为此数字指定固定单位。
抽样间隔内的 IP 包丢弃速率。在常规输出中,此速率以每秒包数(无后缀)、每秒千包数 (K)、每秒兆包数 (M)、每秒千兆包数 (G)、每秒兆兆包数 (T) 或每秒千兆兆包数 (P) 为单位来报告。在计算机可解析的输出中,此速率以每秒包数为单位来表示。–u 选项可用于为此数字指定固定单位。
IP 相关事件的名称。
支持下列操作数:
指定统计信息的重复次数。缺省情况下,ipstat 会一直报告统计信息,直至收到终止信号。
以秒为单位指定抽样间隔;缺省间隔是5秒。
将返回以下退出值:
成功完成。
出现错误。
以下命令报告最活跃的五个 IP 通信流。
$ ./ipstat -l 5 SOURCE DEST PROTO IFNAME BYTES adc-twvpn-2.oraclevpn.com duff.cs.uni.edu UDP net0 6.6K inet-bip2v-10.oracle.com bud.bang.uni.edu TCP tun0 6.1K duff.cs.uni.edu adc-twvpn-2.oraclevpn.com UDP net0 964.0 bud.bang.uni.edu inet-bip2v-10.oracle.com TCP tun0 563.0 coors.foo.uni.edu 255.255.255.255 UDP net0 66.0 Total: bytes in: 12.6K bytes out: 2.2K示例 2 显示时间戳
以下命令报告最大 IP 通信流量同时显示标准日期格式的时间戳。新报告会在前一报告下方输出,间隔设置为十秒。
$ ./ipstat -d d -c 10 Monday, March 26, 2012 08:34:07 PM EDT SOURCE DEST PROTO IFNAME BYTES adc-twvpn-2.oraclevpn.com duff.cs.uni.edu UDP net0 15.1K inet-bip2v-10.oracle.com bud.bang.uni.edu TCP tun0 13.9K duff.cs.uni.edu adc-twvpn-2.oraclevpn.com UDP net0 2.4K bud.bang.uni.edu inet-bip2v-10.oracle.com TCP tun0 1.5K coors.foo.uni.edu 255.255.255.255 UDP net0 66.0 bigip-stbeehive-adc.oracle bud.bang.uni.edu TCP tun0 29.0 bud.bang.uni.edu bigip-stbeehive-adc.oracle TCP tun0 20.0 Total: bytes in: 29.1K bytes out: 3.8K示例 3 指定 DTrace 运行时选项
以下命令将 DTrace 运行时选项 aggsize 设置为 4K。由于此大小对于所收集的数据来说过小,因此会显示一条错误,指示数据已被删除。
$ ./ipstat -c -x aggsize=4k 10 SOURCE DEST PROTO IFNAME BYTES adc-twvpn-3.oraclevpn.com duff.cs.uni.edu UDP net0 11.1K adc-proxy.oracle.com stella.baz.uni.edu TCP tun0 10.3K duff.cs.uni.edu adc-twvpn-3.oraclevpn.com UDP net0 907.0 stella.baz.uni.edu adc-proxy.oracle.com TCP tun0 505.0 coors.foo.uni.edu 255.255.255.255 UDP net0 66.0 duff-lite.cs.uni.edu 182.168.1.255 UDP net0 22.0 duff.cs.uni.edu adc-twvpn-3.oraclevpn.com TCP net0 7.0 adc-twvpn-3.oraclevpn.com duff.cs.uni.edu TCP net0 7.0 coors.foo.uni.edu 169.254.1.255 UDP net0 2.0 Data dropped. Consider using '-x aggsize=8k' option. Total: bytes in: 21.5K bytes out: 2.1K示例 4 生成计算机可解析的输出
以下命令按一秒间隔显示数据,采用计算机可解析的格式,并显示 Unix 格式时间戳。
$ ./ipstat -d u -m 1 timestamp:1333141886 duff.cs.uni.edu:duff-dry.cs.uni.edu:TCP:net0:144 duff-dry.cs.uni.edu:duff.cs.uni.edu:SCTP:net0:128 duff.cs.uni.edu:duff-dry.cs.uni.edu:SCTP:net0:128 duff-dry.cs.uni.edu:duff.cs.uni.edu:TCP:net0:80 coors.foo.uni.edu:169.254.1.255:UDP:net0:40 total:280:240 timestamp:1333141887 duff.cs.uni.edu:duff-dry.cs.uni.edu:TCP:net0:144 duff.cs.uni.edu:duff-dry.cs.uni.edu:SCTP:net0:128 duff-dry.cs.uni.edu:duff.cs.uni.edu:SCTP:net0:104 duff-dry.cs.uni.edu:duff.cs.uni.edu:TCP:net0:80 total:228:228示例 5 报告所有 IP 包丢弃
以下命令可报告所有 IP 包丢弃。新报告会在前一报告下方输出,间隔设置为十秒。
$ ./ipstat -e -k -c 10 SOURCE DEST PROTO IFNAME ERR-PKTS EVENT fe80::214:4fff:fe40:d0c8 ff02::202 IP net0 6 drop-in impel example.net IGMP net0 1 drop-in www.oracle.com example.net IGMP net0 1 drop-in Total: packets in: 8 packets out: 0示例 6 报告部分 IP 事件的统计信息
以下命令报告包括 ipInMcastPkts、ipOutRequest 和 ipFragOKs 在内的事件的通信流。
$ ./ipstat -E ipInMcastPkts,ipoutRequests,ipfragoks SOURCE DEST PROTO IFNAME PKTS EVENT impel dhcp-santaclara18-3fl-west TCP net0 2 ipOutRequests fe80::a00:20ff:fec8:ca69 ff02::1 ICMPv6 net0 1 ipInMcastPkts www.oracle.com example.net UDP net0 1 ipInMcastPkts impel www.oracle.com UDP net0 1 ipOutRequests Total packets: 5示例 7 报告所有 IP 事件
$ ./ipstat -E all SOURCE DEST PROTO IFNAME PKTS EVENT impel www.oracle.com TCP net0 5 ipOutRequests www.oracle.com impel TCP net0 5 ipInReceives www.oracle.com impel TCP net0 4 ipInDelivers www.oracle.com impel TCP net0 1 ipInDiscards 10.5.238.52 10.255.255.255 UDP net0 2 ipInReceives 10.5.238.52 10.255.255.255 UDP net0 2 ipInDelivers 10.5.238.52 10.255.255.255 UDP net0 2 ipInBcastPkts Total packets: 21
有关下列属性的说明,请参见 attributes(7):
|
dtrace(8)、netstat(8)、tcpstat(8)
显示的数据并不是抽样数据。这些值表示准确的 IP 通信流量计数。如果数据被删除,则会显示一条错误消息予以指示。