trpt 命令
用途
执行 TCP 套接字协议跟踪。
语法
描述
trpt 命令查询传输控制协议(TCP)跟踪记录的缓冲区。 当套接字被标记以用于调试 setsockopt 子例程时创建此缓冲区。 然后 trpt 命令打印这些跟踪记录的描述。
注: 您可以使用 traceson 命令来开启守护程序的套接字级别调试。
未指定任何选项时, trpt 命令打印系统中找到的所有跟踪记录,然后根据 TCP/IP 连接协议控制块(PCB)对它们进行分组。
在可以使用 trpt 命令前,必须:
- 隔离问题并标记以调试连接中涉及的一个或多个套接字。
- ,使用netstat-aA命令查找与这些套接字相关的协议控制块地址。
- 然后,可以使用 -p 标志来运行 trpt 命令,以提供相关联的协议控制块地址。 You can specify multiple -p地址 flags with a single trpt command.
一旦定位,-f 标志可用于追踪跟踪日志。 -j 标志可用于检查疑问套接字跟踪记录的存在。
如果系统映像没有合适的符号来查找跟踪缓冲区,trpt 命令失败。
输出字段
trpt 命令输出的信息根据使用的标志的不同而有所变化。 以下各种输出类型中包含了字段的定义:
| 项 | 描述 |
|---|---|
| 协议控制块标识符 | 标识要跟踪的协议块,如下例所示:
|
| 时间戳记 | 指定尝试连接的时间,如下例所示:
|
| 连接状态 | 指定与协议控制块的连接状态:
|
| 操作 | 指定分包跟踪连接的当前状态。 命令输出随操作不同而变化。
如下例所示:
如下例所示:
|
|
|
| 删除 | 指定数据处于前段中,删除数据。 |
| 窗口和序列变量 | 窗口和序列变量类型如下:
|
标志
| 项 | 描述 |
|---|---|
| -a | 除正常输出之处,为每个记录包打印源地址和目标地址值。 |
| -f | 跟随出现时追踪,短暂等待每次日志结束时的附加记录。 |
| -j | 仅列出跟踪记录存在的协议控制块地址。 |
| -p地址 | 仅显示与协议控制块有关的跟踪记录,该协议控制块由 Address 变量指定为十六进制。 必须重复 -p 标志和每个指定的 Address 变量。 |
| -s | 除正常输出外,打印包序列信息的详细信息描述。 |
| -t | 除正常输出外,打印每个跟踪点的所有定时器值。 |
示例
- 要打印跟踪信息以及记录的每个包的源和目标地址,请输入:
可能显示如下输出:$ trpt -a124b0c: 900 ESTABLISHED:input (src=192.9.201.3,4257, dst=192.9.201.2,102 5)2326e6e5@ad938c02(win=200)<ACK,FIN,PUSH> -> CLOSE_WAIT 900 CLOSE_WAIT:output (src=192.9.201.2,1025, dst=192.9.201.3,425 7)ad938c02@2326e6e6(win=4000)<ACK> -> CLOSE_WAIT 900 LAST_ACK:output (src=192.9.201.2,1025, dst=192.9.201.3,4257) ad938c02@2326e6e6(win=4000)<ACK,FIN> -> LAST_ACK 900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK 900 LAST_ACK:user DETACH -> LAST_ACK 12500c: 800 ESTABLISHED:output (src=192.9.201.2,1024, dst=192.9.201.3,51 2)ad8eaa13@2326e6e5(win=4000)<ACK> -> ESTABLISHED 800 ESTABLISHED:input (src=192.9.201.3,512, \ dst=192.9.201.2,1024) [2326e6e5..2326e727)@ad8eaa13(win=1ef)<ACK,PUSH> -> ESTABLISHED 800 ESTABLISHED:user RCVD -> ESTABLISHED 900 ESTABLISHED:output (src=192.9.201.2,1024, dst=192.9.201.3,51 2)ad8eaa13@2326e727(win=4000)<ACK> -> ESTABLISHED 900 ESTABLISHED:input (src=192.9.201.3,512, \ dst=192.9.201.2,1024) [2326e727..2326e82f)@ad8eaa13(win=1ef)<ACK,PUSH> -> ESTABLISHED 900 ESTABLISHED:user RCVD -> ESTABLISHED 900 ESTABLISHED:output (src=192.9.201.2,1024, dst=192.9.201.3,51 2)ad8eaa13@2326e82f(win=4000)<ACK> -> ESTABLISHED 900 ESTABLISHED:input (src=192.9.201.3,512, \ dst=192.9.201.2,1024) 2326e82f@ad8eaa13(win=1ef)<ACK,FIN,PUSH> -> CLOSE_WAIT 900 CLOSE_WAIT:output (src=192.9.201.2,1024, \ dst=192.9.201.3,512) ad8eaa13@2326e830(win=4000)<ACK> -> CLOSE_WAIT 900 LAST_ACK:output (src=192.9.201.2,1024, dst=192.9.201.3,512)a d8eaa13@2326e830(win=4000)<ACK,FIN> -> LAST_ACK 900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK 900 LAST_ACK:user DETACH -> LAST_ACK $ _ - 要列出具有跟踪记录的协议控制块,请输入:
可能显示如下输出:trpt -j124b0c, 12500c - 要打印与单个协议控制块相关联的跟踪记录,请输入:
可能显示如下输出:trpt -p 12500c800 ESTABLISHED:output ad8eaa13@2326e6e5(win=4000)<ACK> -> ESTABLISHED 800 ESTABLISHED:input [2326e6e5..2326e727)@ad8eaa13(win=1ef) <ACK,PUSH> -> ESTABLISHED 800 ESTABLISHED:user RCVD -> ESTABLISHED 900 ESTABLISHED:output ad8eaa13@2326e727(win=4000)<ACK> -> ESTABLISHED 900 ESTABLISHED:input [2326e727..2326e82f)@ad8eaa13(win=1ef) <ACK,PUSH> -> ESTABLISHED 900 ESTABLISHED:user RCVD -> ESTABLISHED 900 ESTABLISHED:output ad8eaa13@2326e82f(win=4000)<ACK> -> ESTABLISHED 900 ESTABLISHED:input 2326e82f@ad8eaa13(win=1ef)<ACK,FIN,PUSH> -> CLOSE_WAIT 900 CLOSE_WAIT:output ad8eaa13@2326e830(win=4000)<ACK> -> CLOSE_WAIT 900 LAST_ACK:output ad8eaa13@2326e830(win=4000)<ACK,FIN> -> LAST_ACK 900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK 900 LAST_ACK:user DETACH -> LAST_ACK $ _