trpt 命令

来源:互联网 发布:淘宝买家评论大全 编辑:程序博客网 时间:2024/06/06 15:01

用途


执行 TCP 套接字协议跟踪。


语法

trpt-a ] [  -f ] [  -j ] [  -pAddress ]... [  -s ] [  -t ]


描述


trpt 命令查询传输控制协议(TCP)跟踪记录的缓冲区。当套接字被标记以用于调试setsockopt 子例程时创建此缓冲区。然后 trpt 命令打印这些跟踪记录的描述。

注:可使用traceson 命令为守护进程打开套接字级调试。


不指定任何选项时,trpt 命令打印系统中找到的所有跟踪记录,然后根据 TCP/IP 连接协议控制块(PCB)对它们进行分组。


在可以使用 trpt 命令前,必须:

  1. 隔离问题并标记调试连接使用的一个或多个套接字。
  2. 通过使用netstat -aA 命令来查找与这些套接字相连的协议控制块地址。
  3. 然后可以运行trpt 命令,使用 -p 标志提供相连的协议控制块地址。可用单个trpt 命令指定多个 -pAddress 标志。


一旦定位,-f 标志可用于追踪跟踪日志。-j 标志可用于检查疑问套接字跟踪记录的存在。


如果系统映像没有合适的符号来查找跟踪缓冲区,trpt 命令失败。


输出字段


trpt 命令输出的信息根据使用的标志的不同而有所变化。以下各种输出类型中包含了字段的定义:


协议控制块标识符标识要跟踪的协议块,如下例所示:

4c500c:
时间戳记指定尝试连接的时间,如下例所示:

500
连接状态指定与协议控制块的连接状态:
CLOSED
连接关闭。
LISTEN
侦听连接。
SYN_SENT
活动的,已发送 SYN。 表示发送连接请求后等待匹配连接请求。
SYN_RCVD
已发送和接收 SYN。 表示收到接收和发送连接请求后等待确认连接请求通知。
ESTABLISHED
连接建立。
CLOSE_WAIT
已接收 FIN,等待接收 CLOSE。
LAST_ACK
已接收 FIN 和 CLOSE,等待 FIN ACK。
FIN_WAIT_1
已关闭,发送 FIN。
CLOSING
关闭,交换的 FIN,等候 FIN。
FIN_WAIT_2
已关闭,已通知 FIN,等候 FIN。
TIME_WAIT
关闭后以 2MSL(两倍于最大段长度)静态等待。
Action指定分包跟踪连接的当前状态。命令输出随操作不同而变化。
Input
接收输入包。输出语法是:

input (SourceAddress, Port, DestinationAddress,Port) <Sequence Number of the First Data Octet> @AcknowledgementNumber

如下例所示:

input (src=129.353173176,23, dst=129.35.17.140, 1795) fb9f5461@fb9e4c68
Output
传输包。输出语法是:

output (SourceAddress, Port, DestinationAddress,Port) <Sequence Number Of The First Data Octet>..<Sequence Number of the Last Data Octet>@AcknowledgementNumber)

如下例所示:

output (src=129.35.17.140,1795, dst=129.35.17.176, 23) fb9e4c68@fb9f5462
Window Size
指定发送或接收包的窗口大小,如下例所示:

(win=1000)
 
User
指定用户请求。如下是用户请求示例:

SLOWTIMO<KEEP>

用户请求类型及其定义如下:

PRU_ATTACH
连接协议使之启动。
PRU-DETACH
从启动中拆离协议。
PRU_BIND
为地址绑定套接字。
PRU_LISTEN
侦听连接。
PRU_CONNECT
建立同级设备连接。
PRU_ACCEPT
接受与同级设备连接。
PRU_DISCONNECT
与同级设备断开连接。
PRU_SHUTDOWN
不发送任何数据。
PRU_RCVD
已接收数据,有更多空间。
PRU_SEND
发送此数据。
PRU_ABORT
异常终止(快速 DISCONNECT,DETACH)。
PRU_CONTROL
控制协议操作。
PRU_SENSE
返回到 m 状态。
PRU_RCVOOB
检索区域外数据。
PRU_SENDOOB
发送区域外数据。
PRU_SOCKADDR
取得套接字地址。
PRU_PEERADDR
取得同级设备地址。
PRU_CONNECT2
连接两个套接字。
PRU_FASTTIMO
200 毫秒超时。
PRU_SLOTIMO
500 毫秒超时。
PRU_PROTORCV
从下接收。
PRU_PROTOSEND
往下发送。
Drop指定数据处于前段中,删除数据。Window and Sequence Variables窗口和序列变量类型如下:
rcv_nxt
进入段上要使用的下一序列号。
rcv_wnd
接收窗口大小。
snd_una
最早未通知的序列号。
snd_nxt
下一要发送的序列号。
snd_max
发送的最高序列号。
snd_sl1
窗口更新段序列号。
snd_wl1
窗口更新段 ack 号。
snd_wnd
发送窗口。


标志


-a除正常输出之处,为每个记录包打印源地址和目的地址值。-f跟随出现时追踪,短暂等待每次日志结束时的附加记录。-j仅列出跟踪记录存在的协议控制块地址。-pAddress仅显示与协议控制块有关的跟踪记录,该协议控制块由 Address 变量指定为十六进制。 必须重复 -p 标志和每个指定的 Address 变量。-s除正常输出外,打印包序列信息的详细信息描述。-t除正常输出外,打印每个跟踪点的所有计时器值。


示例

  1. 为每个记录包打印跟踪信息及源地址和目的地址,输入:

    $ trpt -a

    可能显示如下输出:

    124b0c:900 ESTABLISHED:input (src=192.9.201.3,4257, dst=192.9.201.2,1025)2326e6e5@ad938c02(win=200)<ACK,FIN,PUSH> -> CLOSE_WAIT900 CLOSE_WAIT:output (src=192.9.201.2,1025, dst=192.9.201.3,4257)ad938c02@2326e6e6(win=4000)<ACK> -> CLOSE_WAIT900 LAST_ACK:output (src=192.9.201.2,1025, dst=192.9.201.3,4257)ad938c02@2326e6e6(win=4000)<ACK,FIN> -> LAST_ACK900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK900 LAST_ACK:user DETACH -> LAST_ACK 12500c:800 ESTABLISHED:output (src=192.9.201.2,1024, dst=192.9.201.3,512)ad8eaa13@2326e6e5(win=4000)<ACK> -> ESTABLISHED800 ESTABLISHED:input (src=192.9.201.3,512, \dst=192.9.201.2,1024)[2326e6e5..2326e727)@ad8eaa13(win=1ef)<ACK,PUSH> -> ESTABLISHED800 ESTABLISHED:user RCVD -> ESTABLISHED900 ESTABLISHED:output (src=192.9.201.2,1024, dst=192.9.201.3,512)ad8eaa13@2326e727(win=4000)<ACK> -> ESTABLISHED900 ESTABLISHED:input (src=192.9.201.3,512, \dst=192.9.201.2,1024)[2326e727..2326e82f)@ad8eaa13(win=1ef)<ACK,PUSH> -> ESTABLISHED900 ESTABLISHED:user RCVD -> ESTABLISHED900 ESTABLISHED:output (src=192.9.201.2,1024, dst=192.9.201.3,512)ad8eaa13@2326e82f(win=4000)<ACK> -> ESTABLISHED900 ESTABLISHED:input (src=192.9.201.3,512, \dst=192.9.201.2,1024)2326e82f@ad8eaa13(win=1ef)<ACK,FIN,PUSH> -> CLOSE_WAIT900 CLOSE_WAIT:output (src=192.9.201.2,1024, \dst=192.9.201.3,512)ad8eaa13@2326e830(win=4000)<ACK> -> CLOSE_WAIT900 LAST_ACK:output (src=192.9.201.2,1024, dst=192.9.201.3,512)ad8eaa13@2326e830(win=4000)<ACK,FIN> -> LAST_ACK900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK900 LAST_ACK:user DETACH -> LAST_ACK$ _
  2. 列出有跟踪记录的协议控制块,输入:

    trpt -j

    可能显示如下输出:

    124b0c, 12500c
  3. 打印与单协议控制块关联的跟踪记录,输入:

    trpt -p 12500c

    可能显示如下输出:

    800 ESTABLISHED:output ad8eaa13@2326e6e5(win=4000)<ACK> -> ESTABLISHED800 ESTABLISHED:input [2326e6e5..2326e727)@ad8eaa13(win=1ef) <ACK,PUSH> -> ESTABLISHED800 ESTABLISHED:user RCVD -> ESTABLISHED900 ESTABLISHED:output ad8eaa13@2326e727(win=4000)<ACK> -> ESTABLISHED900 ESTABLISHED:input [2326e727..2326e82f)@ad8eaa13(win=1ef) <ACK,PUSH> -> ESTABLISHED900 ESTABLISHED:user RCVD -> ESTABLISHED900 ESTABLISHED:output ad8eaa13@2326e82f(win=4000)<ACK> -> ESTABLISHED900 ESTABLISHED:input 2326e82f@ad8eaa13(win=1ef)<ACK,FIN,PUSH> -> CLOSE_WAIT900 CLOSE_WAIT:output ad8eaa13@2326e830(win=4000)<ACK> -> CLOSE_WAIT900 LAST_ACK:output ad8eaa13@2326e830(win=4000)<ACK,FIN> -> LAST_ACK900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK900 LAST_ACK:user DETACH -> LAST_ACK$ _


相关信息


netstat 命令、tracesoff 命令和 traceson 命令。


setsockopt 子例程。

http://www.kuqin.com/aixcmds/aixcmds5/trpt.htm



0 0
原创粉丝点击