trpt
—
transliterate protocol trace
trpt |
[-a ] [-f ]
[-j ] [-p
hex-address] [-s ]
[-t ] [-N
system] [-M
core] |
trpt
interrogates the buffer of TCP trace records
created when a socket is marked for “debugging” (see
setsockopt(2)), and prints a
readable description of these records. When no options are supplied,
trpt
prints all the trace records found in the system
grouped according to TCP connection protocol control block (PCB). The
following options may be used to alter this behavior.
-a
- In addition to the normal output, print the values of the source and
destination addresses for each packet recorded.
-f
- Follow the trace as it occurs, waiting a short time for additional records
each time the end of the log is reached.
-j
- Just give a list of the protocol control block addresses for which there
are trace records.
-p
- Show only trace records associated with the protocol control block at the
given address hex-address.
-s
- In addition to the normal output, print a detailed description of the
packet sequencing information.
-t
- in addition to the normal output, print the values for all timers at each
point in the trace.
-M
core
- Extract values associated with the name list from
core.
-N
system
- Extract the name list from system.
The recommended use of trpt
is as follows.
Isolate the problem and enable debugging on the socket(s) involved in the
connection. Find the address of the protocol control blocks associated with
the sockets using the -A
option to
netstat(1). Then run
trpt
with the -p
option,
supplying the associated protocol control block addresses. The
-f
option can be used to follow the trace log once
the trace is located. If there are many sockets using the debugging option,
the -j
option may be useful in checking to see if
any trace records are present for the socket in question.
The following sysctls are used by trpt
. The
TCP_DEBUG
kernel option must be enabled.
net.inet.tcp.debug
- Structure containing TCP sockets information used by
trpt
.
net.inet.tcp.debx
- Number of TCP debug messages.
- no namelist
- When the image doesn't contain the proper symbols to find the trace
buffer; others which should be self explanatory.
The trpt
command appeared in
4.2BSD.
Should also print the data for each input or output, but this is not saved in
the trace record.
The output format is inscrutable and should be described here.