sodebug コマンド

目的

ソケットのソケット・デバッグ・フラグ (SO_DEBUG ソケット・オプション) とトレース・レベルを設定または設定解除します。

構文

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

説明

sodebug コマンドは、アクティブ・ソケット上のソケット・デバッグ・フラグおよびトレース・レベルを設定、設定解除、またはリストします。

ソケット・デバッグ・フラグ ( SO_DEBUG ソケット・オプションとも呼ばれる) がソケットに対して設定されている場合、このソケット上のイベントは trace コマンドを使用してトレースできます。

-l オプションを使用して、システム上に既に存在するソケットにソケット・デバッグ・フラグを設定することができます。 -l オプションは、特定のソケットのトレース・レベルも設定します。

sodebug コマンドがオプションなしで実行されると、各アクティブ・ソケットのソケット・デバッグ・フラグ状況およびトレース・レベルが表示されます。

trace および trpt コマンドは、トレース・レベルに基づいて情報を収集します。

次の表では、トレース・フック 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 内にあるサービスの wait/nowait フィールドで |DEBUG[=level] を指定すると、特定のサービスに対するソケット・デバッグをオンにすることができます。 トレース・レベルは minnormal、または detail のいずれかに設定できます。 レベルを指定しない場合のデフォルト・レベルは normal です。
  3. no コマンドの sodebug_env パラメーターを使用し、プロセス環境で export SODEBUG=level を指定することによって、プロセスによって作成される後続のすべてのソケットに対してソケット・デバッグをオンまたはオフに設定することができます。 トレース・レベルは minnormal、または detail のいずれかに設定できます。

フラグ

項目 説明
-h sodebug コマンドのヘルプを表示します。
-l [レベル] トレース・レベルを指定します。 レベルとして有効な値は、noneminnormal、および detail です。 レベルを指定しない場合のデフォルトのトレース・レベルは normal です。
-p PID プロセスのプロセス ID を指定します。
-s ソックアドレス ソケット・アドレス、ソケットの inpcb のアドレス、またはソケットの tcpcb のアドレスによってソケットを指定します。
-t タイプ -s sockaddr オプションによって指定するアドレスのタイプを指定します。 有効な値は、socketinpcb、および tcpcb です。 デフォルト値は socketです。

セキュリティー

sodebug コマンドを実行するには root 権限が必要です。

  1. ソケット f100090002d0a800 のデバッグ・フラグとソケット・トレース・レベルを表示するには、次のように入力します。
    sodebug -s f100090002d0a800
    出力は、次の例のようになります。
    socket address : f100090002d0a800 , sodebug flag : 0 , trace level : none(0)
  2. トレース・レベルを normal に設定し、デバッグ・フラグを 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)