手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

tcpstat(1M)

名称

tcpstat - 报告有关 TCP 和 UDP 通信流量的统计信息

用法概要

tcpstat [-cmnrt] [-a 
address[,address...]] [-A 
address[,address...]]
	    [-d d|u] [-i interface[
,interface...]] [-i pid[
,pid]] [-l nlines]
	    [-p port[,port...
]] [-P port[
,port...]] [-s key | -S key]
	    [-u R|K|M|G|T|P] [-x opt[
=val][,opt[=val]...]]
	    [-z zonename[,zonename...
]] [interval [count]]

描述

tcpstat 实用程序根据选定输出模式和排序顺序来收集和报告有关 TCP 和 UDP 通信流量的统计信息。tcpstat 还提供了一些选项来仅收集和报告与指定源或目标地址、接口、进程 ID、源或目标端口以及区域名称相匹配的通信流量的统计信息。

选项

支持以下选项:

–a address[,address...]

对源地址进行过滤。

–A address[,address...]

对目标地址进行过滤。

–c

在以前的报告下方输出新报告而不是将其覆盖。

–d d|u

每个报告输出时间戳,采用标准日期格式 (-d d) 或自纪元以来的秒数,即 Unix 时间 (-d u)。

–i pid[,pid...]

对 PID 进行过滤。

–l nlines

每个报告输出的数据行数。

–m

生成计算机可解析的输出。

–n

将网络地址显示为数字。不将 IP 地址解析为主机名。

–p port[,port...]

对端口名称进行过滤。

–r

仅显示接收到的包的数据。

–s key | –S key

按照 key 以升序 (–S) 或降序 (–s) 排序,其中 key 可以为如下值:

  • zone-区域名称

  • pid-进程 ID

  • proto-传输层协议

  • source-源 IP 地址

  • sport-源端口

  • dest-目标 IP 地址

  • dport-目标端口

  • bytes-数据量

缺省情况下,数据按字节以降序排序。

–t

仅显示传输的包的数据。

–u R|K|M|G|T|P

如果使用了该选项,则可以选择显示所有统计信息所用的单位,例如 R:原始计数、K:千位、M:兆位、T:兆兆位、P:千兆兆位。如果没有使用该选项,则将根据情况使用不同单位显示统计信息,采用 xy.zU 格式,其中 x、y 和 z 是数字,U 是相应的单位。

–T protocol[ ,protocol...]

指定要显示的传输层协议。可接受的选项为 TCP 或 UDP。缺省情况下,显示所有支持的传输层协议的数据。

–x opt=val[,opt=val]

启用或修改 DTrace 运行时选项或 D 编译器选项。完整的选项列表位于 dtrace(1M)。对于此实用程序,最有用的选项为 aggsizeaggrate。如果尝试修改以下选项之一,此实用程序将显示如下错误消息:

Data dropped.  Consider using '-x aggsize=8k' option.

aggsize 的缺省值为 512k。aggrate 的缺省值为 1Hz。

–z zonename[ ,zonename...]

对区域名称进行过滤。

输出

输出

下面的列表介绍了 tcpstat 报告的列标题和含义:

ZONE

与该网络通信流量关联的区域的名称。

PID

与该网络通信流量关联的进程 ID。

PROTO

与该网络通信流量关联的协议。

SADDR

与该网络通信流量关联的源 IP 地址或主机名。

SPORT

与该网络通信流量关联的源端口。

DADDR

与该网络通信流量关联的目标 IP 地址或主机名。

DPORT

与该网络通信流量关联的目标端口。

BYTES

抽样间隔内的网络通信流量速率。在常规输出中,此速率以每秒字节数(无后缀)、千字节数 (K)、兆字节数 (M)、千兆字节数 (G)、兆兆字节数 (T) 或千兆兆字节数 (P) 为单位来报告。在计算机可解析的输出中,此速率以每秒字节数为单位来表示。–u 选项可用于为此数字指定固定单位。

操作数

支持下列操作数:

count

指定统计信息的重复次数。缺省情况下,tcpstat 会一直报告统计信息,直至收到一个终止信号。

interval

以秒为单位指定抽样间隔;缺省间隔是5秒。

退出状态

将返回以下退出值:

0

成功完成。

1

出现错误。

示例

示例 1 报告五个最活跃的通信流

以下命令报告最活跃的五个通信流。

$ ./tcpstat -l 5
ZONE            PID PROTO  SADDR            SPORT DADDR            DPORT   BYTES
global        28919 TCP    duff.cs.uni.edu  65398 adc-twvpn-1.orac   443   33.0 
zone1          6940 TCP    duff-dry.cs.uni.  6868 duff.cs.uni.edu  61318    8.0 
zone1          6940 TCP    duff.cs.uni.edu  61318 duff-dry.cs.uni.  6868    8.0 
global         8350 TCP    duff-dry.cs.uni.  6868 duff.cs.uni.edu  61318    8.0 
global         8350 TCP    duff.cs.uni.edu  61318 duff-dry.cs.uni.  6868    8.0 
Total: bytes in: 16.0  bytes out: 49.0 

示例 2 显示时间戳

以下命令报告最大通信流量同时显示标准日期格式的时间戳。新报告会在前一报告下方输出,间隔设置为十秒。

$ ./tcpstat -d d -c 10
Saturday, March 31, 2012 07:48:05 AM EDT
ZONE            PID PROTO  SADDR            SPORT DADDR            DPORT   BYTES
global         2372 TCP    heineken.splat.u 58094 rmdc-proxy.oracl    80   37.0 
zone1          6940 TCP    duff-dry.cs.uni.  6868 duff.cs.uni.edu  61318    8.0 
zone1          6940 TCP    duff.cs.uni.edu  61318 duff-dry.cs.uni.  6868    8.0 
global         8350 TCP    duff-dry.cs.uni.  6868 duff.cs.uni.edu  61318    8.0 
global         8350 TCP    duff.cs.uni.edu  61318 duff-dry.cs.uni.  6868    8.0 
Total: bytes in: 16.0  bytes out: 53.0
示例 3 指定 DTrace 运行时选项

以下命令将 DTrace 运行时选项 aggsize 设置为 1K。由于此大小对于所收集的数据来说过小,因此会显示一条错误,指示数据已被删除。

$ ./tcpstat -x aggsize=1k -c 1
Please wait...
ZONE            PID PROTO  SADDR            SPORT DADDR            DPORT   BYTES
zone1          6940 TCP    duff.cs.uni.edu  61318 duff-dry.cs.uni.  6868    8.0 
global         8350 TCP    duff-dry.cs.uni.  6868 duff.cs.uni.edu  61318    8.0 
global         8350 TCP    duff.cs.uni.edu  61318 duff-dry.cs.uni.  6868    8.0 
Data dropped.  Consider using '-x aggsize=2k' option.
Total: bytes in:  0.0  bytes out:  0.0 
示例 4 生成计算机可解析的输出

以下命令按一秒间隔显示数据,采用计算机可解析的格式,并显示 Unix 格式时间戳。

$ ./tcpstat -d u -m 1
timestamp:1333144286
global:TCP:2372:adc-proxy.oracle.com:80:harp.blat.uni.edu:44403:21083
global:TCP:2372:adc-proxy.oracle.com:80:harp.blat.uni.edu:59012:3136
global:TCP:2372:adc-proxy.oracle.com:80:harp.blat.uni.edu:37122:925
global:TCP:2372:harp.blat.uni.edu:59012:adc-proxy.oracle.com:80:670
global:TCP:2372:adc-proxy.oracle.com:80:harp.blat.uni.edu:64848:478
global:TCP:2372:adc-proxy.oracle.com:80:harp.blat.uni.edu:43355:425
global:TCP:2372:harp.blat.uni.edu:37122:adc-proxy.oracle.com:80:414
global:TCP:2372:harp.blat.uni.edu:44403:adc-proxy.oracle.com:80:403
zone1:TCP:6940:duff-dry.cs.uni.edu:6868:duff.cs.uni.edu:61318:8
zone1:TCP:6940:duff.cs.uni.edu:61318:duff-dry.cs.uni.edu:6868:8
global:TCP:8350:duff-dry.cs.uni.edu:6868:duff.cs.uni.edu:61318:8
global:TCP:8350:duff.cs.uni.edu:61318:duff-dry.cs.uni.edu:6868:8
total:TCP:26063:1503
timestamp:1333144287
zone1:TCP:6940:duff-dry.cs.uni.edu:6868:duff.cs.uni.edu:61318:8
zone1:TCP:6940:duff.cs.uni.edu:61318:duff-dry.cs.uni.edu:6868:8
global:TCP:8350:duff-dry.cs.uni.edu:6868:duff.cs.uni.edu:61318:8
global:TCP:8350:duff.cs.uni.edu:61318:duff-dry.cs.uni.edu:6868:8
total:16:16

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os

另请参见

dtrace(1M)ipstat(1M)

附注

显示的数据并不是抽样数据。这些值表示网络通信流量的准确计数。如果数据被删除,则会显示一条错误消息予以指示。