| HOME / 정보공유 / AIX 명령어 모음

trpt
trpt trpt 명령 목적 TCP 소켓에서 프로토콜 추적을 수행합니다. 구문
trpt [ -a ] [ -f ] [ -j ] [ -pAddress ]... [ -s ] [ -t ]
설명
trpt 명령은 전송 제어 규약(TCP) 추적 레코드용 버퍼를 조회합니다. 이 버퍼는 setsockopt 서브루틴으로 디버깅하도록 표시됩니다. trpt 명령은 이러한 추적 레코드의 설명을 인쇄합니다.
주: 디먼에 대한 소켓 레벨 디버깅을 켜기 위해 traceson 명령을 사용할 수 있습니다.
옵션을 설정하지 않을 때, trpt 명령은 시스템에서 발견된 모든 추적 레코드를 인쇄합니다. 그리고 TCP/IP 연결 프로토콜 제어 블록에 따라 그룹으로 나눕니다.
trpt 명령을 사용하기 전에 다음 작업을 수행해야 합니다.
연결에 관련된 소켓 디버깅을 위한 표시와 장애를 분리합니다.
netstat -aA 명령을 이용해 이런 소켓과 연관된 프로토콜 제어 블록의 주소를 찾습니다.
관련 프로토콜 제어 블록 주소를 제공하기 위해 -p 플래그를 사용하여 trpt 명령을 사용할 수 있습니다. 하나의 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(최대 세그먼트 길이의 두배)로 대기.
조치 현재의 패킷 추적 연결 상태를 지정합니다. 명령 출력은 조치에 따라 달라집니다.
입력
입력 패킷 수신. 출력 구문은 다음과 같습니다.
input (SourceAddress, Port, DestinationAddress,
Port) @AcknowledgementNumber
예:
input (src=129.353173176,23, dst=129.35.17.140, 1795) fb9f5461@fb9e4c68
출력
패킷 전송. 출력 구문은 다음과 같습니다.
output (SourceAddress, Port, DestinationAddress,
Port) ..
@AcknowledgementNumber)
예:
output (src=129.35.17.140,1795, dst=129.35.17.176, 23) fb9e4c68@fb9f5462
창 크기
다음 예와 같이 패킷을 전송하거나 수신하는 창 크기를 지정합니다.
(win=1000)
사용자
사용자 요청을 지정합니다. 다음은 사용자 요청의 한 예입니다.
SLOWTIMO
사용자 요청 유형 및 기타 정의는 다음과 같습니다.
PRU_ATTACH
프로토콜 연결.
PRU-DETACH
프로토콜 분리.
PRU_BIND
소켓을 주소에 연결.
PRU_LISTEN
연결 청취.
PRU_CONNECT
피어로 연결 설정.
PRU_ACCEPT
피어로부터 연결 승인.
PRU_DISCONNECT
피어로부터 연결 해제.
PRU_SHUTDOWN
더 이상 데이터를 송신하지 않음.
PRU_RCVD
데이터 수신: 현재 추가 수신 가능.
PRU_SEND
이 데이터를 송신함.
PRU_ABORT
중단(고속 연결 해제, 분리).
PRU_CONTROL
프로토콜에서 제어 조작.
PRU_SENSE
m 상태로 복귀.
PRU_RCVOOB
대역 데이터에서 검색.
PRU_SENDOOB
대역 데이터에서 송신.
PRU_SOCKADDR
소켓 주소 페치(fetch).
PRU_PEERADDR
피어 주소 페치(fetch).
PRU_CONNECT2
두 소켓 연결.
PRU_FASTTIMO
200밀리초 시간종료.
PRU_SLOTIMO
500밀리초 시간종료.
PRU_PROTORCV
아래로부터 검색.
PRU_PROTOSEND
아래로 송신.
삭제 이전 세그먼트에 있던 데이터를 지정, 데이터 삭제.
창 및 순서 변수 창 유형 및 순서 변수는 다음과 같습니다.
rcv_nxt
수신 세그먼트에서 예상되는 다음 일련 번호.
rcv_wnd
수신 창 크기.
snd_una
이전의 비승인 일련 번호.
snd_nxt
송신할 다음 일련 번호.
snd_max
송신할 가장 높은 일련 번호.
snd_sl1
창 갱신 세그먼트 일련 번호.
snd_wl1
창 갱신 세그먼트 ACK 번호.
snd_wnd
창 송신.
플래그
-a 정상 출력 외에 기록된 각 패킷에 대한 소스 값 및 수신지 주소를 인쇄합니다.
-f 추적이 발생할 때, 추적을 하고 로그 끝에 도달할 때마다 간략한 추가 기록을 기다립니다.
-j 추적 기록이 있는 프로토콜 제어 블록 주소만 나열합니다.
-pAddress Address 변수에 의해 16진수로 지정된 프로토콜 제어 블록과 연관된 추적 레코드만을 표시합니다. 각각의 지정된 Address 변수마다 -p 플래그를 반복해야 합니다.
-s 정상 출력 외에 패킷 배열 정보에 대한 자세한 설명을 인쇄합니다.
-t 정상 출력 외에 각 추적 포인트에서 모든 타이머 값을 인쇄합니다.
예제
기록된 각 패킷 소스와 수신지 주소는 물론 추적 정보도 인쇄하려면 다음과 같이 입력하십시오.
$ trpt -a
다음과 같은 출력이 생성됩니다.
124b0c:
900 ESTABLISHED:input (src=192.9.201.3,4257, dst=192.9.201.2,102
5)2326e6e5@ad938c02(win=200) -> CLOSE_WAIT
900 CLOSE_WAIT:output (src=192.9.201.2,1025, dst=192.9.201.3,425
7)ad938c02@2326e6e6(win=4000) -> CLOSE_WAIT
900 LAST_ACK:output (src=192.9.201.2,1025, dst=192.9.201.3,4257)
ad938c02@2326e6e6(win=4000) -> 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) -> ESTABLISHED
800 ESTABLISHED:input (src=192.9.201.3,512, \
dst=192.9.201.2,1024)
[2326e6e5..2326e727)@ad8eaa13(win=1ef) -> 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) -> ESTABLISHED
900 ESTABLISHED:input (src=192.9.201.3,512, \
dst=192.9.201.2,1024)
[2326e727..2326e82f)@ad8eaa13(win=1ef) -> 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) -> ESTABLISHED
900 ESTABLISHED:input (src=192.9.201.3,512, \
dst=192.9.201.2,1024)
2326e82f@ad8eaa13(win=1ef) -> CLOSE_WAIT
900 CLOSE_WAIT:output (src=192.9.201.2,1024, \
dst=192.9.201.3,512)
ad8eaa13@2326e830(win=4000) -> CLOSE_WAIT
900 LAST_ACK:output (src=192.9.201.2,1024, dst=192.9.201.3,512)a
d8eaa13@2326e830(win=4000) -> LAST_ACK
900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK
900 LAST_ACK:user DETACH -> LAST_ACK
$ _
추적 레코드를 가진 프로토콜 제어 블록을 나열하려면 다음과 같이 입력하십시오.
trpt -j
다음과 같은 출력이 생성됩니다.
124b0c, 12500c
단일 프로토콜 제어 블록과 연관된 추적 레코드를 인쇄하려면 다음과 같이 입력하십시오.
trpt -p 12500c
다음과 같은 출력이 생성됩니다.
800 ESTABLISHED:output ad8eaa13@2326e6e5(win=4000) ->
ESTABLISHED
800 ESTABLISHED:input [2326e6e5..2326e727)@ad8eaa13(win=1ef)
-> ESTABLISHED
800 ESTABLISHED:user RCVD -> ESTABLISHED
900 ESTABLISHED:output ad8eaa13@2326e727(win=4000) -> ESTABLISHED
900 ESTABLISHED:input [2326e727..2326e82f)@ad8eaa13(win=1ef) -> ESTABLISHED
900 ESTABLISHED:user RCVD -> ESTABLISHED
900 ESTABLISHED:output ad8eaa13@2326e82f(win=4000) -> ESTABLISHED
900 ESTABLISHED:input 2326e82f@ad8eaa13(win=1ef) -> CLOSE_WAIT
900 CLOSE_WAIT:output ad8eaa13@2326e830(win=4000) -> CLOSE_WAIT
900 LAST_ACK:output ad8eaa13@2326e830(win=4000) -> LAST_ACK
900 CLOSE_WAIT:user DISCONNECT -> LAST_ACK
900 LAST_ACK:user DETACH -> LAST_ACK
$ _
관련 정보
netstat 명령, tracesoff 명령, traceson 명령.
setsockopt 서브루틴.