sodebug 명령

용도

소켓에서 소켓 디버그 플래그(SO_DEBUG 소켓 옵션) 및 추적 레벨을 설정 및 설정 해제합니다.

구문

sodebug [ -h ] [ -l [ level ] ] [ -p pid | -s sockaddr [ -t type ] ]

설명

sodebug 명령은 활성 소켓에서 소켓 디버그 플래그 및 추적 레벨을 설정, 설정 해제 또는 나열합니다.

소켓 디버그 플래그(SO_DEBUG 소켓 옵션이라고도 함)가 소켓을 위해 설정되면, 이 소켓의 이벤트가 trace 명령을 사용하여 추적될 수 있습니다.

-l 옵션을 사용하여 시스템에 이미 존재하는 소켓 디버그 플래그를 소켓에 설정할 수 있습니다. -l 옵션은 제공된 소켓에 대한 추적 레벨도 설정합니다.

sodebug 명령이 옵션 없이 실행되면, 소켓 디버그 플래그 상태 및 각 활성 소켓에 대한 추적 레벨이 표시됩니다.

tracetrpt 명령은 추적 레벨을 기반으로 정보를 수집합니다.

다음 테이블은 추적 후크 ID 25A(TCPDBG)에 대한 추적 레벨을 기반으로 수집된 정보에 대해 설명합니다.
  최소 보통 상세
tcp_debug 데이터(td_time, td_act, td_ostate, td_tcb, family 및 td_req)   X X
tcpip 헤더   X X
tcpcb의 주소   X X
모든 tcpcb 필드     X
소켓의 주소   X X
모든 소켓 필드     X
아래에 설명된 대로 추적 레벨 및 소켓 디버그 플래그를 설정 또는 설정 해제할 수도 있습니다.
  1. 다음 명령은 순차적으로 시스템에 작성되는 모든 소켓의 소켓 디버그 플래그를 사용 가능하게 합니다.
    no -o sodebug=1
  2. 고유의 서비스에 해당하는 소켓 디버깅을 켜기 위해 inetd.conf에서 서비스의 대기/비대기 필드에서 |DEBUG[=level]을 지정할 수 있습니다. 최소, 정상 또는 상세에 추적 레벨을 설정할 수 있습니다. 레벨이 지정되지 않은 경우 디폴트 레벨은 정상입니다.
  3. no 명령의 sodebug_env 매개변수를 사용하고 프로세스 환경에서 export SODEBUG=level을 지정하여 프로세스에서 작성한 모든 후속적 소켓에서 소켓 디버깅을 설정 또는 설정 해제할 수 있습니다. 최소, 정상 또는 상세에 추적 레벨을 설정할 수 있습니다.

플래그

항목 설명
-h sodebug 명령에 대한 도움말이 표시됩니다.
-l [level] 추적 레벨을 지정합니다. 레벨에 대한 유효값은 없음, 최소, 정상세부사항입니다. 레벨이 지정되지 않은 경우 디폴트 추적 레벨은 정상입니다.
-p pid 프로세스의 프로세스 ID를 지정합니다.
-s sockaddr 소켓 주소, 소켓의 inpcb 주소 또는 소켓의 tcpcb 주소에 의한 소켓을 지정합니다.
-t 유형 -s sockaddr 옵션으로 지정된 주소의 유형을 지정합니다. 유효값은 소켓, inpcbtcpcb입니다. 디폴트 값은 소켓입니다.

보안

sodebug 명령을 실행하기 위한 루트 권한이 있어야 합니다.

예제

  1. 소켓 f100090002d0a800의 디버그 플래그 및 소켓 추적 레벨을 나열하려면 다음을 입력하십시오.
    sodebug -s f100090002d0a800
    출력은 다음 예제와 유사합니다.
    socket address : f100090002d0a800 , sodebug flag : 0 , trace level : none(0)
  2. 추적 레벨을 정상으로 설정하고 디버그 플래그를 1로 설정하려면 다음을 입력하십시오.
    sodebug -s f100090002d0a800 -l normal
    출력은 다음 예제와 유사합니다.
    Setting new values for trace level and debug flag
    socket address : f100090002d0a800 , sodebug flag : 1 , trace level : normal(3)